summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/os.rst5
-rw-r--r--Doc/whatsnew/3.9.rst6
-rw-r--r--Lib/test/test_posix.py10
-rw-r--r--Misc/NEWS.d/next/Library/2019-10-16-19-56-51.bpo-38493.86ExWB.rst2
-rw-r--r--Modules/posixmodule.c6
5 files changed, 29 insertions, 0 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index fe9531b..8e9d9e6 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -3946,8 +3946,10 @@ written in Python, such as a mail server's external command delivery program.
.. data:: CLD_EXITED
+ CLD_KILLED
CLD_DUMPED
CLD_TRAPPED
+ CLD_STOPPED
CLD_CONTINUED
These are the possible values for :attr:`si_code` in the result returned by
@@ -3957,6 +3959,9 @@ written in Python, such as a mail server's external command delivery program.
.. versionadded:: 3.3
+ .. versionchanged:: 3.9
+ Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values.
+
.. function:: waitpid(pid, options)
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index 6b4abc0..f203930 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -125,6 +125,12 @@ that schedules a shutdown for the default executor that waits on the
:func:`asyncio.run` has been updated to use the new :term:`coroutine`.
(Contributed by Kyle Stanley in :issue:`34037`.)
+os
+__
+
+Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:`si_code`.
+(Contributed by Dong-hee Na in :issue:`38493`.)
+
threading
---------
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 9bdd284..17e4ded2 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -1226,6 +1226,16 @@ class PosixTester(unittest.TestCase):
finally:
posix.close(f)
+ @unittest.skipUnless(hasattr(signal, 'SIGCHLD'), 'CLD_XXXX be placed in si_code for a SIGCHLD signal')
+ @unittest.skipUnless(hasattr(os, 'waitid_result'), "test needs os.waitid_result")
+ def test_cld_xxxx_constants(self):
+ os.CLD_EXITED
+ os.CLD_KILLED
+ os.CLD_DUMPED
+ os.CLD_TRAPPED
+ os.CLD_STOPPED
+ os.CLD_CONTINUED
+
@unittest.skipUnless(os.symlink in os.supports_dir_fd, "test needs dir_fd support in os.symlink()")
def test_symlink_dir_fd(self):
f = posix.open(posix.getcwd(), posix.O_RDONLY)
diff --git a/Misc/NEWS.d/next/Library/2019-10-16-19-56-51.bpo-38493.86ExWB.rst b/Misc/NEWS.d/next/Library/2019-10-16-19-56-51.bpo-38493.86ExWB.rst
new file mode 100644
index 0000000..1a4bef6
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-10-16-19-56-51.bpo-38493.86ExWB.rst
@@ -0,0 +1,2 @@
+Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:`si_code`.
+Patch by Dong-hee Na.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 6864970..dcd90d3 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -14057,12 +14057,18 @@ all_ins(PyObject *m)
#ifdef CLD_EXITED
if (PyModule_AddIntMacro(m, CLD_EXITED)) return -1;
#endif
+#ifdef CLD_KILLED
+ if (PyModule_AddIntMacro(m, CLD_KILLED)) return -1;
+#endif
#ifdef CLD_DUMPED
if (PyModule_AddIntMacro(m, CLD_DUMPED)) return -1;
#endif
#ifdef CLD_TRAPPED
if (PyModule_AddIntMacro(m, CLD_TRAPPED)) return -1;
#endif
+#ifdef CLD_STOPPED
+ if (PyModule_AddIntMacro(m, CLD_STOPPED)) return -1;
+#endif
#ifdef CLD_CONTINUED
if (PyModule_AddIntMacro(m, CLD_CONTINUED)) return -1;
#endif