Re: No Bug: accept discards socket options/O_NONBLOCK

From: Michael Poole (poole@troilus.org)
Date: Fri Sep 15 2000 - 10:29:56 EST


Matthias Andree <matthias.andree@stud.uni-dortmund.de> writes:

> On Fri, 15 Sep 2000, David S. Miller wrote:
>
> > Every Linux inetd in the world would instantly stop working.
>
> Why should it? inetd.c does not touch fd flags. No F_SETFL, no
> O_NONBLOCK, no fcntl. Why should inetd fail with a changed accept(2)
> semantics?

Most of the programs called by inetd don't expect non-blocking I/O on
their stdin and stdout, which they would suddenly get if accept()'ed
sockets inherited the non-blocking nature of inetd's listening socket.

Personally, I think that the common case is that the caller will want
the same blocking attribute for an accept()'ed socket as on the
listening socket it came from, and inetd is the only app I have seen
offered as a counterexample. If it's just one app, it can easily be
changed and marked as required for upgrades to kernels that have the
same semantics as the BSDs.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:25 EST