diff --git a/Misc/NEWS b/Misc/NEWS index fd7bc4cfe34..a46497d39fd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,9 @@ What's New in Python 3.2.1 beta 1? Core and Builtins ----------------- +- Issue #12060: Use sig_atomic_t type and volatile keyword in the signal + module. Patch written by Charles-François Natali. + - Issue #12044: Fixed subprocess.Popen when used as a context manager to wait for the process to end when exiting the context to avoid unintentionally leaving zombie processes around. diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c index 00a83b497cd..87c1c9ad736 100644 --- a/Modules/signalmodule.c +++ b/Modules/signalmodule.c @@ -80,12 +80,12 @@ static long main_thread; static pid_t main_pid; #endif -static struct { - int tripped; +static volatile struct { + sig_atomic_t tripped; PyObject *func; } Handlers[NSIG]; -static sig_atomic_t wakeup_fd = -1; +static volatile sig_atomic_t wakeup_fd = -1; /* Speed up sigcheck() when none tripped */ static volatile sig_atomic_t is_tripped = 0;