[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201510220615.t9M6FL2d017592@room101.nl.oracle.com>
Date: Thu, 22 Oct 2015 08:15:21 +0200
From: Casper.Dik@...cle.com
To: Alan Burlison <Alan.Burlison@...cle.com>
cc: David Miller <davem@...emloft.net>, viro@...IV.linux.org.uk,
eric.dumazet@...il.com, stephen@...workplumber.org,
netdev@...r.kernel.org, dholland-tech@...bsd.org
Subject: Re: [Bug 106241] New: shutdown(3)/close(3) behaviour is incorrect for sockets in accept(3)
>It's been said that the current mechanisms in Linux & some BSD variants
>can be subject to races, and the behaviour exhibited doesn't conform to
>POSIX, for example requiring the use of shutdown() on unconnected
>sockets because close() doesn't kick off other threads accept()ing on
>the same fd. I'd be interested to hear if there's a better and more
>performant way of handling the situation that doesn't involve doing the
>sort of bookkeeping Casper described,.
Of course, the implementation is now around 18 years old; clearly a lot of
things have changed since then.
In the particular case of Linux close() on a socket, surely it must be
possible to detect at close that it is a listening socket and that you are
about to close the last reference; the kernel could then do the shutdown()
all by itself.
Casper
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists