Commit 5336f8ca authored by Andrew M. Kuchling's avatar Andrew M. Kuchling

[Patch #982681] Apply this patch correctly; makes set_reuse_addr() work on Windows

parent 7323f084
......@@ -263,14 +263,20 @@ class dispatcher:
def set_reuse_addr(self):
# try to re-use a server port if possible
try:
# Windows SO_REUSEADDR is very broken (from a unixy perspective)
if sys.platform == 'win32':
reuse_constant = socket.SO_EXCLUSIVEADDRUSE
else:
reuse_constant = socket.SO_REUSEADDR
self.socket.setsockopt(
socket.SOL_SOCKET, socket.SO_REUSEADDR,
socket.SOL_SOCKET, reuse_constant,
self.socket.getsockopt(socket.SOL_SOCKET,
socket.SO_REUSEADDR) | 1
reuse_constant) | 1
)
except socket.error:
pass
# ==================================================
# predicates for select()
# these are used as filters for the lists of sockets
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment