Skip to content

Commit

Permalink
set SO_EXCLUSIVEADDRUSER on Windows instead of SO_REUSEADDR
Browse files Browse the repository at this point in the history
closes #550
  • Loading branch information
minrk committed Jun 28, 2012
1 parent 83b3882 commit 4e152b5
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion tornado/netutil.py
Expand Up @@ -252,7 +252,10 @@ def bind_sockets(port, address=None, family=socket.AF_UNSPEC, backlog=128):
af, socktype, proto, canonname, sockaddr = res af, socktype, proto, canonname, sockaddr = res
sock = socket.socket(af, socktype, proto) sock = socket.socket(af, socktype, proto)
set_close_exec(sock.fileno()) set_close_exec(sock.fileno())
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) if os.name == 'nt':
sock.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1)
else:
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
if af == socket.AF_INET6: if af == socket.AF_INET6:
# On linux, ipv6 sockets accept ipv4 too by default, # On linux, ipv6 sockets accept ipv4 too by default,
# but this makes it impossible to bind to both # but this makes it impossible to bind to both
Expand Down

0 comments on commit 4e152b5

Please sign in to comment.