mirror of
https://github.com/python/cpython.git
synced 2025-07-15 07:15:18 +00:00
Issue #8498: In socket.accept(), allow to specify 0 as a backlog value in
order to accept exactly one connection. Patch by Daniel Evers.
This commit is contained in:
parent
cda41d3bf7
commit
1be815aac4
5 changed files with 20 additions and 6 deletions
|
@ -2220,8 +2220,10 @@ sock_listen(PySocketSockObject *s, PyObject *arg)
|
|||
if (backlog == -1 && PyErr_Occurred())
|
||||
return NULL;
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
if (backlog < 1)
|
||||
backlog = 1;
|
||||
/* To avoid problems on systems that don't allow a negative backlog
|
||||
* (which doesn't make sense anyway) we force a minimum value of 0. */
|
||||
if (backlog < 0)
|
||||
backlog = 0;
|
||||
res = listen(s->sock_fd, backlog);
|
||||
Py_END_ALLOW_THREADS
|
||||
if (res < 0)
|
||||
|
@ -2234,8 +2236,9 @@ PyDoc_STRVAR(listen_doc,
|
|||
"listen(backlog)\n\
|
||||
\n\
|
||||
Enable a server to accept connections. The backlog argument must be at\n\
|
||||
least 1; it specifies the number of unaccepted connection that the system\n\
|
||||
will allow before refusing new connections.");
|
||||
least 0 (if it is lower, it is set to 0); it specifies the number of\n\
|
||||
unaccepted connections that the system will allow before refusing new\n\
|
||||
connections.");
|
||||
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue