Messages in this thread | | | From | Denis Vlasenko <> | Subject | Re: O_NONBLOCK setting "leak" outside of a process?? | Date | Sun, 4 Feb 2007 02:22:13 +0100 |
| |
On Sunday 04 February 2007 01:55, David Schwartz wrote: > > > That's a bug, right? I couldn't find anything to that effect in IEEE > > Std. 1003.1, 2004 Edition... > > > > Ciao, > > Roland > > It's not a bug, there's no rational alternative. What would two indepedent > file descriptors for the same end of a TCP connection be?
Easy. O_NONBLOCK should only affect whether read/write blocks or returns EAGAIN. It's logical for this setting to be per-process.
Currently changing O_NONBLOCK on stdin/out/err affects other, possibly unrelated processes - they don't expect that *their* reads/writes will start returning EAGAIN!
Worse, it cannot be worked around by dup() because duped fds are still sharing O_NONBLOCK. How can I work around this? -- vda - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |