On Thursday, 13th January 2005, Jilles Tjoelker wrote: >POSIX states that the O_NONBLOCK flag is per open file description. File >descriptors created with dup(2), fork(2) or similar methods share the >same open file description, while new descriptors created with open(2) >do not.
Can you quote chapter and verse on this? Or is it merely implied? A pointer to an online copy would be best. I found that "The Open Group Base Specifications Issue 6" at http://www.opengroup.org/onlinepubs/009695399/toc.htm is not clear on the matter. Also "The Single UNIX Specification, Version 2" at http://www.opengroup.org/onlinepubs/007908799/ is similarly unclear. >Consequently, a POSIX-compliant implementation of O_NONBLOCK does not >solve the problem, as all descriptors to the terminal refer to the same >open file description. O_NONBLOCK is indeed unusable for descriptions >shared with other unknowing processes :( If we must be POSIX compliant and if you accept that POSIX demands that dup'd file descriptors share a single O_NONBLOCK flag, then the logical end position is that the threads library must not routinely set stdin, stdout and stderr to non-blocking. Right? Personally, I have no qualms being non-POSIX compliant in a good cause. Wouldn't being non-POSIX on this issue be easier? Hmm. Should this be on -arch now? Stephen. _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"