summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-10-27 20:56:12 (GMT)
committerGitHub <noreply@github.com>2023-10-27 20:56:12 (GMT)
commit77bb0d5f5047223e5d8f855ee21442ea9505834e (patch)
tree107f9784ff9745af5ded7d05d6125ff369ac652a
parent8a158a753c48d166ebceae0687e88ae0c0725c02 (diff)
downloadcpython-77bb0d5f5047223e5d8f855ee21442ea9505834e.zip
cpython-77bb0d5f5047223e5d8f855ee21442ea9505834e.tar.gz
cpython-77bb0d5f5047223e5d8f855ee21442ea9505834e.tar.bz2
gh-108765: Include explicitly <unistd.h> in signalmodule.c (#111402)
unistd.h is needed by alarm() and pause() functions.
-rw-r--r--Doc/whatsnew/3.13.rst3
-rw-r--r--Modules/signalmodule.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index 34dd3ea..84d5daa 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -1120,7 +1120,8 @@ Porting to Python 3.13
* ``Python.h`` no longer includes the ``<unistd.h>`` standard header file. If
needed, it should now be included explicitly. For example, it provides the
functions: ``read()``, ``write()``, ``close()``, ``isatty()``, ``lseek()``,
- ``getpid()``, ``getcwd()``, ``sysconf()`` and ``getpagesize()``.
+ ``getpid()``, ``getcwd()``, ``sysconf()``, ``getpagesize()``, ``alarm()`` and
+ ``pause()``.
As a consequence, ``_POSIX_SEMAPHORES`` and ``_POSIX_THREADS`` macros are no
longer defined by ``Python.h``. The ``HAVE_UNISTD_H`` and ``HAVE_PTHREAD_H``
macros defined by ``Python.h`` can be used to decide if ``<unistd.h>`` and
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 2932d94..f3ba091 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -21,6 +21,9 @@
# include "socketmodule.h" // SOCKET_T
#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h> // alarm()
+#endif
#ifdef MS_WINDOWS
# ifdef HAVE_PROCESS_H
# include <process.h>