[issue8184] multiprocessing.managers will not fail if listening ocket already in use

Charles-François Natali report at bugs.python.org
Tue Jan 3 17:40:49 CET 2012


Charles-François Natali <neologix at free.fr> added the comment:

That's because SocketListener uses SO_REUSEADDR.
It seems that, with SO_REUSEADDR, Windows allows binding to a port even though there's a socket already bound to the same port in the LISTEN state: this is wrong, the semantics of SO_REUSEADDR was intended for sockets in TIME-WAIT state, and Linux and BSD systems implement this properly (i.e. fail with EADDRINUSE when there's a socket in LISTEN state).
The problem, if we remove this flag, is that managers binding to a specific port will get EADDRINUSE in case of rapid restart.
Since I'm not convinced that this is really an issue, I'd suggest to close this as "won't fix". Another option would be to complain to Microsoft :-)

@Phill: I'm not sure I understand your problem: could you be more specific (or open a new issue)?

----------
nosy: +neologix, pitrou

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8184>
_______________________________________


More information about the Python-bugs-list mailing list