bpo-46016: fcntl module add FreeBSD's F_DUP2FD_CLOEXEC flag support (GH-29993)

This commit is contained in:
David CARLIER 2021-12-08 22:28:51 +00:00 committed by GitHub
parent 2109f7880b
commit 267539bff7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 0 deletions

View File

@ -44,6 +44,11 @@ descriptor.
``F_SETPIPE_SZ`` constants, which allow to check and modify a pipe's size
respectively.
.. versionchanged:: 3.11
On FreeBSD, the fcntl module exposes the ``F_DUP2FD`` and ``F_DUP2FD_CLOEXEC``
constants, which allow to duplicate a file descriptor, the latter setting
``FD_CLOEXEC`` flag in addition.
The module defines the following functions:

View File

@ -329,6 +329,14 @@ unicodedata
* The Unicode database has been updated to version 14.0.0. (:issue:`45190`).
fcntl
-----
* On FreeBSD, the `F_DUP2FD` and `F_DUP2FD_CLOEXEC` flags respectively
are supported, the former equals to ``dup2`` usage while the latter set
the ``FD_CLOEXEC`` flag in addition.
Optimizations
=============

View File

@ -0,0 +1 @@
Adding `F_DUP2FD` and `F_DUP2FD_CLOEXEC` constants from FreeBSD into the fcntl module.

View File

@ -581,6 +581,14 @@ all_ins(PyObject* m)
if (PyModule_AddIntMacro(m, F_NOCACHE)) return -1;
#endif
/* FreeBSD specifics */
#ifdef F_DUP2FD
if (PyModule_AddIntMacro(m, F_DUP2FD)) return -1;
#endif
#ifdef F_DUP2FD_CLOEXEC
if (PyModule_AddIntMacro(m, F_DUP2FD_CLOEXEC)) return -1;
#endif
/* For F_{GET|SET}FL */
#ifdef FD_CLOEXEC
if (PyModule_AddIntMacro(m, FD_CLOEXEC)) return -1;