bpo-43106: Add os.O_EVTONLY/O_FSYNC/O_SYMLINK/O_NOFOLLOW_ANY (GH-24428)

This commit is contained in:
Dong-hee Na 2021-02-04 08:32:55 +09:00 committed by GitHub
parent d4e6ed7e5f
commit f917c243c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 1 deletions

View File

@ -1090,6 +1090,16 @@ or `the MSDN <https://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Windo
The above constants are only available on Windows.
.. data:: O_EVTONLY
O_FSYNC
O_SYMLINK
O_NOFOLLOW_ANY
The above constants are only available on macOS.
.. versionchanged:: 3.10
Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK`
and :data:`O_NOFOLLOW_ANY` constants.
.. data:: O_ASYNC
O_DIRECT

View File

@ -411,6 +411,10 @@ descriptors without copying between kernel address space and user
address space, where one of the file descriptors must refer to a
pipe. (Contributed by Pablo Galindo in :issue:`41625`.)
Added :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK`
and :data:`~os.O_NOFOLLOW_ANY` for macOS.
(Contributed by Dong-hee Na in :issue:`43106`.)
pathlib
-------

View File

@ -0,0 +1,2 @@
Added :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK`
and :data:`~os.O_NOFOLLOW_ANY` for macOS. Patch by Dong-hee Na.

View File

@ -14901,7 +14901,15 @@ all_ins(PyObject *m)
#ifdef O_ACCMODE
if (PyModule_AddIntMacro(m, O_ACCMODE)) return -1;
#endif
#ifdef O_EVTONLY
if (PyModule_AddIntMacro(m, O_EVTONLY)) return -1;
#endif
#ifdef O_FSYNC
if (PyModule_AddIntMacro(m, O_FSYNC)) return -1;
#endif
#ifdef O_SYMLINK
if (PyModule_AddIntMacro(m, O_SYMLINK)) return -1;
#endif
#ifdef SEEK_HOLE
if (PyModule_AddIntMacro(m, SEEK_HOLE)) return -1;
@ -14951,6 +14959,9 @@ all_ins(PyObject *m)
/* Do not follow links. */
if (PyModule_AddIntMacro(m, O_NOFOLLOW)) return -1;
#endif
#ifdef O_NOFOLLOW_ANY
if (PyModule_AddIntMacro(m, O_NOFOLLOW_ANY)) return -1;
#endif
#ifdef O_NOLINKS
/* Fails if link count of the named file is greater than 1 */
if (PyModule_AddIntMacro(m, O_NOLINKS)) return -1;