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

corona10 webhook-mailer at python.org
Wed Feb 3 18:33:03 EST 2021


https://github.com/python/cpython/commit/f917c243c52d62a787738379fb9b97acbed02c17
commit: f917c243c52d62a787738379fb9b97acbed02c17
branch: master
author: Dong-hee Na <donghee.na at python.org>
committer: corona10 <donghee.na92 at gmail.com>
date: 2021-02-04T08:32:55+09:00
summary:

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

files:
A Misc/NEWS.d/next/Library/2021-02-03-17-06-38.bpo-43106.SwcSuU.rst
M Doc/library/os.rst
M Doc/whatsnew/3.10.rst
M Modules/posixmodule.c

diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 35cf7c0a0ba5c..371d59e9c31a4 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -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
diff --git a/Doc/whatsnew/3.10.rst b/Doc/whatsnew/3.10.rst
index d80ceeca85a89..fa8b6aa54fe90 100644
--- a/Doc/whatsnew/3.10.rst
+++ b/Doc/whatsnew/3.10.rst
@@ -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
 -------
 
diff --git a/Misc/NEWS.d/next/Library/2021-02-03-17-06-38.bpo-43106.SwcSuU.rst b/Misc/NEWS.d/next/Library/2021-02-03-17-06-38.bpo-43106.SwcSuU.rst
new file mode 100644
index 0000000000000..a85d49437c4e5
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-02-03-17-06-38.bpo-43106.SwcSuU.rst
@@ -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.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 4468fd08e17a5..b30ae80290535 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -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;



More information about the Python-checkins mailing list