mirror of
https://github.com/python/cpython.git
synced 2025-11-24 20:30:18 +00:00
BPO-17561: set create_server backlog default to None (GH-12735)
It turns out doing socket.listen(0) does not equal to "choose a reasonable default". It actually means "set backlog to 0". As such set backlog=None as the default for socket.create_server. Fixes the following BB failures: https://github.com/python/cpython/pull/11784#issuecomment-481036369 Ref. BPO-1756, GH-11784.
This commit is contained in:
parent
79b5d29041
commit
8702b67dad
3 changed files with 7 additions and 3 deletions
|
|
@ -745,7 +745,7 @@ def has_dualstack_ipv6():
|
|||
return False
|
||||
|
||||
|
||||
def create_server(address, *, family=AF_INET, backlog=0, reuse_port=False,
|
||||
def create_server(address, *, family=AF_INET, backlog=None, reuse_port=False,
|
||||
dualstack_ipv6=False):
|
||||
"""Convenience function which creates a SOCK_STREAM type socket
|
||||
bound to *address* (a 2-tuple (host, port)) and return the socket
|
||||
|
|
@ -804,7 +804,10 @@ def create_server(address, *, family=AF_INET, backlog=0, reuse_port=False,
|
|||
msg = '%s (while attempting to bind on address %r)' % \
|
||||
(err.strerror, address)
|
||||
raise error(err.errno, msg) from None
|
||||
sock.listen(backlog)
|
||||
if backlog is None:
|
||||
sock.listen()
|
||||
else:
|
||||
sock.listen(backlog)
|
||||
return sock
|
||||
except error:
|
||||
sock.close()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue