I'm reading through dvb core code trying to figure out what causes some data corruptions I see some times (particularly when the computer is under heavy load). Now reading through this code I get some bad wibes about how concurrency is handled, but this being kernel space code, and me being not very experienced with that I figured I should ask. Take for instance dvb_dmxdev_buffer_read and _write. These two both query and set many of the members of stuct dmxdev_buffer, but there seems to be no explicit concurancy handling. dvb_dmxdev_buffer_write seems to only be called when dmxdevfilter->dev->lock is held, but this lock does not seem to be held when _read is called. Can anyone explain to me whether there is something inherent in the code that makes this safe, or if there are any architectural features in the kernel code that keeps this from being a problem? Best regards, Sigmund Helberg _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb