Message31086
Augh, bloody firefox messed up my focus.
Your PyErr_SetInterrupt needs to set the flags after, like so:
Py_AddPendingCall((int (*)(void *))PyErr_CheckSignals, NULL);
Handlers[SIGINT].tripped = 1;
is_tripped = 1;
The reason is that the signal handler run in a thread while the main thread goes through PyErr_CheckSignals, the main thread may notice the flags, clear them flags, find nothing, then exit. You need the signal handler to supply all the data before setting the flags.
Really though, if you fix enough signal problems you'll converge with the patch at http://sourceforge.net/tracker/index.php?func=detail&aid=1564547&group_id=5470&atid=305470
No need for two patches that do the same thing. |
|
Date |
User |
Action |
Args |
2007-08-23 14:51:30 | admin | link | issue1643738 messages |
2007-08-23 14:51:30 | admin | create | |
|