]> granicus.if.org Git - python/commitdiff
bpo-38493: Add os.CLD_KILLED and os.CLD_STOPPED. (GH-16821)
authorDong-hee Na <donghee.na92@gmail.com>
Mon, 21 Oct 2019 07:01:05 +0000 (16:01 +0900)
committerSerhiy Storchaka <storchaka@gmail.com>
Mon, 21 Oct 2019 07:01:05 +0000 (10:01 +0300)
Doc/library/os.rst
Doc/whatsnew/3.9.rst
Lib/test/test_posix.py
Misc/NEWS.d/next/Library/2019-10-16-19-56-51.bpo-38493.86ExWB.rst [new file with mode: 0644]
Modules/posixmodule.c

index fe9531b17017710a63a31a4f986eede80e7e9491..8e9d9e6f034e3abc5226552a82b4483a02937b7a 100644 (file)
@@ -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)
 
index 6b4abc0567c30eebfee78aed7e635bdc3f8e2707..f203930fd1b7b7896cea3e242ad01aaee976e13e 100644 (file)
@@ -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
 ---------
 
index 9bdd2848afc81b87ed2e11e64b67931ef96bfb69..17e4ded2e2d6950fcd79b6ed1c43d9986b103a6d 100644 (file)
@@ -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 (file)
index 0000000..1a4bef6
--- /dev/null
@@ -0,0 +1,2 @@
+Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:`si_code`.
+Patch by Dong-hee Na.
index 686497090f88b8709fbb51abfc0011e379aa6d6d..dcd90d3a5152d75dfae057712d1296de1ccdaa4d 100644 (file)
@@ -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