Skip to content

Commit ac69b61

Browse files
Fix includes (e.g. for Windows) in pycore_signal.h.
1 parent 32cfc50 commit ac69b61

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

Include/internal/pycore_signal.h

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,20 @@ extern "C" {
1010
# error "this header requires Py_BUILD_CORE define"
1111
#endif
1212

13-
#include <signal.h> // NSIG
1413
#include "pycore_atomic.h" // _Py_atomic_address
1514

15+
#ifdef MS_WINDOWS
16+
# include "socketmodule.h" // SOCKET_T
17+
#endif
18+
19+
#ifdef MS_WINDOWS
20+
# include <windows.h> // HANDLE
21+
#endif
22+
#ifdef HAVE_SIGNAL_H
23+
# include <signal.h> // NSIG
24+
#endif
25+
26+
1627
#ifdef _SIG_MAXSIG
1728
// gh-91145: On FreeBSD, <signal.h> defines NSIG as 32: it doesn't include
1829
// realtime signals: [SIGRTMIN,SIGRTMAX]. Use _SIG_MAXSIG instead. For
@@ -21,19 +32,19 @@ extern "C" {
2132
#elif defined(NSIG)
2233
# define Py_NSIG NSIG
2334
#elif defined(_NSIG)
24-
# define Py_NSIG _NSIG // BSD/SysV
35+
# define Py_NSIG _NSIG // BSD/SysV
2536
#elif defined(_SIGMAX)
26-
# define Py_NSIG (_SIGMAX + 1) // QNX
37+
# define Py_NSIG (_SIGMAX + 1) // QNX
2738
#elif defined(SIGMAX)
28-
# define Py_NSIG (SIGMAX + 1) // djgpp
39+
# define Py_NSIG (SIGMAX + 1) // djgpp
2940
#else
30-
# define Py_NSIG 64 // Use a reasonable default value
41+
# define Py_NSIG 64 // Use a reasonable default value
3142
#endif
3243

3344
#ifdef MS_WINDOWS
34-
# define INVALID_FD ((SOCKET_T)-1)
45+
# define INVALID_FD ((SOCKET_T)-1)
3546
#else
36-
# define INVALID_FD (-1)
47+
# define INVALID_FD (-1)
3748
#endif
3849

3950
struct _signals_runtime_state {

0 commit comments

Comments
 (0)