diff options
author | Tal Einat <taleinat+github@gmail.com> | 2018-06-30 12:43:23 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-30 12:43:23 (GMT) |
commit | 0cdf5f42898350261c5ff65d96334e736130780f (patch) | |
tree | 589e0dac3ee9c06289e972f4c3857e65c8b90c98 /Doc/library/select.rst | |
parent | 5bb5bbfca847524bab5f2368bdb48eedf5dba74f (diff) | |
download | cpython-0cdf5f42898350261c5ff65d96334e736130780f.zip cpython-0cdf5f42898350261c5ff65d96334e736130780f.tar.gz cpython-0cdf5f42898350261c5ff65d96334e736130780f.tar.bz2 |
bpo-32568: make select.epoll() and its docs consistent (#7840)
* `flags` is indeed deprecated, but there is a validation on its value for
backwards compatibility reasons. This adds mention of this in the docs.
* The docs say that `sizehint` is deprecated and ignored, but it is still
used when `epoll_create1()` is unavailable. This adds mention of this in
the docs.
* `sizehint=-1` is acceptable again, and is replaced with `FD_SETSIZE-1`.
This is needed to have a default value available at the Python level,
since `FD_SETSIZE` is not exposed to Python. (see: bpo-31938)
* Reject `sizehint=0` since it is invalid to pass on to `epoll_create()`.
The relevant tests have also been updated.
Diffstat (limited to 'Doc/library/select.rst')
-rw-r--r-- | Doc/library/select.rst | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Doc/library/select.rst b/Doc/library/select.rst index e252e7a..5ffb215 100644 --- a/Doc/library/select.rst +++ b/Doc/library/select.rst @@ -57,7 +57,16 @@ The module defines the following: (Only supported on Linux 2.5.44 and newer.) Return an edge polling object, which can be used as Edge or Level Triggered interface for I/O - events. *sizehint* and *flags* are deprecated and completely ignored. + events. + + *sizehint* informs epoll about the expected number of events to be + registered. It must be positive, or `-1` to use the default. It is only + used on older systems where :c:func:`epoll_create1` is not available; + otherwise it has no effect (though its value is still checked). + + *flags* is deprecated and completely ignored. However, when supplied, its + value must be ``0`` or ``select.EPOLL_CLOEXEC``, otherwise ``OSError`` is + raised. See the :ref:`epoll-objects` section below for the methods supported by epolling objects. |