Skip to content

Commit b56774b

Browse files
aiskblurb-it[bot]
andauthored
bpo-16594: Add allow_reuse_port on socketserver (GH-30072)
* bpo-16594: Add allow_reuse_port on socketserver * πŸ“œπŸ€– Added by blurb_it. Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
1 parent 481f3ff commit b56774b

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

β€ŽLib/socketserver.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ class BaseServer:
187187
- address_family
188188
- socket_type
189189
- allow_reuse_address
190+
- allow_reuse_port
190191
191192
Instance variables:
192193
@@ -425,6 +426,7 @@ class TCPServer(BaseServer):
425426
- socket_type
426427
- request_queue_size (only for stream sockets)
427428
- allow_reuse_address
429+
- allow_reuse_port
428430
429431
Instance variables:
430432
@@ -442,6 +444,8 @@ class TCPServer(BaseServer):
442444

443445
allow_reuse_address = False
444446

447+
allow_reuse_port = False
448+
445449
def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True):
446450
"""Constructor. May be extended, do not override."""
447451
BaseServer.__init__(self, server_address, RequestHandlerClass)
@@ -463,6 +467,8 @@ def server_bind(self):
463467
"""
464468
if self.allow_reuse_address:
465469
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
470+
if self.allow_reuse_port:
471+
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
466472
self.socket.bind(self.server_address)
467473
self.server_address = self.socket.getsockname()
468474

@@ -519,6 +525,8 @@ class UDPServer(TCPServer):
519525

520526
allow_reuse_address = False
521527

528+
allow_reuse_port = False
529+
522530
socket_type = socket.SOCK_DGRAM
523531

524532
max_packet_size = 8192
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add allow allow_reuse_port flag in socketserver.

0 commit comments

Comments
Β (0)