[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