Re: Asynchronous access to disk files

"D. J. Bernstein" <[email protected]> 17 Jun 2003 05:19:47 -0000
Newsgroups gmane.org.djb.miscellaneous
Message-ID <[email protected]>
O_NONBLOCK has three functions: disabling the usual open() behavior of
waiting for pipe peers, carrier, etc.; disabling the usual read()
behavior of waiting for data; and disabling the usual write() behavior
of waiting for data.

O_HONESTBLOCKING is not tied to any of these functions. For example, it
changes the results of select() and poll().

As long as there are programs that choke on O_NONBLOCK descriptors,
we'll have to disable O_NONBLOCK before execve(). In contrast, there
don't seem to be any programs incompatible with O_HONESTBLOCKING.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago