◐ Shell
clean mode source ↗

Message 26479 - Python tracker

The C runtime library shipped with Visual Studio 2005
performs strict checking of parameters.

In function initsignal() in file
Modules\signalmodule.c, an iteration over all signals
from 1 to NSIG is performed.

The function PyOS_getsig() is called with each of these
integer values. PyOS_getsig() then calls signal() with
the given value which leads to the crash.

According to signal.h from VS2005 only these signals
are allowed:

#define SIGINT          2     
#define SIGILL          4     
#define SIGABRT_COMPAT  6     
#define SIGFPE          8     
#define SIGSEGV         11    
#define SIGTERM         15    
#define SIGBREAK        21    
#define SIGABRT         22    

A solution would be to restrict the loop in
initsignal() to the above values under Windows.