Commit e8945ed7 authored by Guido van Rossum's avatar Guido van Rossum

Add class variable allow_reuse_address in TCPServer -- if nonzero, the

server_bind() method calls setsockopt(SOL_SOCKET, SO_REUSEADDR, 1).
parent ae5658e6
...@@ -141,6 +141,7 @@ class TCPServer: ...@@ -141,6 +141,7 @@ class TCPServer:
- address_family - address_family
- socket_type - socket_type
- request_queue_size (only for stream sockets) - request_queue_size (only for stream sockets)
- reuse_address
Instance variables: Instance variables:
...@@ -156,6 +157,8 @@ class TCPServer: ...@@ -156,6 +157,8 @@ class TCPServer:
request_queue_size = 5 request_queue_size = 5
allow_reuse_address = 0
def __init__(self, server_address, RequestHandlerClass): def __init__(self, server_address, RequestHandlerClass):
"""Constructor. May be extended, do not override.""" """Constructor. May be extended, do not override."""
self.server_address = server_address self.server_address = server_address
...@@ -171,6 +174,8 @@ class TCPServer: ...@@ -171,6 +174,8 @@ class TCPServer:
May be overridden. May be overridden.
""" """
if self.allow_reuse_address:
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.bind(self.server_address) self.socket.bind(self.server_address)
def server_activate(self): def server_activate(self):
......
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