summaryrefslogtreecommitdiff
path: root/Lib/SocketServer.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-05-09 14:53:29 +0000
committerGuido van Rossum <guido@python.org>2000-05-09 14:53:29 +0000
commite8945ed71351dfe1d9eceac62c13d9e6a5cf81cf (patch)
tree5d5de50097a8e9f2569582dc78faffeb83a5f3ff /Lib/SocketServer.py
parentae5658e63307d28663c0db288a682cf4aecbe7e4 (diff)
downloadcpython-e8945ed71351dfe1d9eceac62c13d9e6a5cf81cf.tar.gz
Add class variable allow_reuse_address in TCPServer -- if nonzero, the
server_bind() method calls setsockopt(SOL_SOCKET, SO_REUSEADDR, 1).
Diffstat (limited to 'Lib/SocketServer.py')
-rw-r--r--Lib/SocketServer.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/Lib/SocketServer.py b/Lib/SocketServer.py
index 2c7335698b..5562fb0ef4 100644
--- a/Lib/SocketServer.py
+++ b/Lib/SocketServer.py
@@ -141,6 +141,7 @@ class TCPServer:
- address_family
- socket_type
- request_queue_size (only for stream sockets)
+ - reuse_address
Instance variables:
@@ -156,6 +157,8 @@ class TCPServer:
request_queue_size = 5
+ allow_reuse_address = 0
+
def __init__(self, server_address, RequestHandlerClass):
"""Constructor. May be extended, do not override."""
self.server_address = server_address
@@ -171,6 +174,8 @@ class TCPServer:
May be overridden.
"""
+ if self.allow_reuse_address:
+ self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.bind(self.server_address)
def server_activate(self):