diff -r 3ebe2d261920 Modules/signalmodule.c --- a/Modules/signalmodule.c Thu May 12 16:18:29 2011 +0100 +++ b/Modules/signalmodule.c Fri May 13 01:11:27 2011 +0200 @@ -88,12 +88,12 @@ 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;