Skip to content

Commit e3c7a5f

Browse files
committed
Add class variable allow_reuse_address in TCPServer -- if nonzero, the
server_bind() method calls setsockopt(SOL_SOCKET, SO_REUSEADDR, 1).
1 parent fd4114e commit e3c7a5f

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

Lib/SocketServer.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ class TCPServer:
141141
- address_family
142142
- socket_type
143143
- request_queue_size (only for stream sockets)
144+
- reuse_address
144145
145146
Instance variables:
146147
@@ -156,6 +157,8 @@ class TCPServer:
156157

157158
request_queue_size = 5
158159

160+
allow_reuse_address = 0
161+
159162
def __init__(self, server_address, RequestHandlerClass):
160163
"""Constructor. May be extended, do not override."""
161164
self.server_address = server_address
@@ -171,6 +174,8 @@ def server_bind(self):
171174
May be overridden.
172175
173176
"""
177+
if self.allow_reuse_address:
178+
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
174179
self.socket.bind(self.server_address)
175180

176181
def server_activate(self):

0 commit comments

Comments
 (0)