[plug] Scheduling and Blocking Explained

Tom Atkinson tom at tyco.net.au
Wed May 24 10:47:04 WST 2000


Brad,

Thanks very much for taking the time to give us a good rundown on what
was happening and why.  My knowledge of how device drivers work has been
given a much needed refresher!

Just one comment though, on your statement about non-blocking
reads/writes:

> Non blocking IO is just the opposite.
> You do a write() and your program jams that data in to the drivers buffer

On the driver I wrote, if all the data could be written by the write
call, whether it was 1 byte or 512, it would be, otherwise, I would
immediately return EWOULDBLOCK (thus leaving it up to the caller to try
again later).

This errno is actually the same number as EAGAIN.

Cheers!
Tom Atkinson



More information about the plug mailing list