> > >writes are generally blocking calls and if the > > > application intends to fill in another buffer during the time the write > > call is > > > being executed, let him use multithreading in userland and that will solve > > his > You are both missing the poll system call and the O_NONBLOCK fcntl > flags (note that only blocking call gives scheduler an oportunity to > switch threads, so once you use O_NONBLOCK, threads can help nothing > more). > > However, you did not post the code with both read and write yet... (or > did I mis it?) > u didnt.. No by write() i mean the write to the device, ( producer ) By read i mean read the buffer from the disk. But that also works for read() from the device ( consumer ). It really worked for mpeg speeds upto 20Mbps on device with 20Mbps throughput, and cpu 233MHz.. -nagaraj. \(*_*)/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/