
18 Jan
2005
18 Jan
'05
6:23 p.m.
On Tue, 2005-01-18 at 22:52 +0000, Glynn Clements wrote:
Ben Rudiak-Gould wrote:
Essentially, reading data from regular files is always deemed to occur "soon", so the usual mechanisms for dealing with "slow" I/O (i.e. pipes, FIFOs, character devices, sockets) don't work. This applies equally to non-blocking I/O (O_NONBLOCK), asynchronous I/O (O_ASYNC), select(), poll() etc.
Yes, there are very few systems that do genuine async IO. I believe that Solaris and the Win NT kernel are supposed to be able to do this, though the interfaces to these features are apparently rather hard to use. I've heard that Linux is going to gain proper async IO for ordinary buffered (as opposed to direct IO) files some time in the not too distant future. Duncan