[Python-Dev] C bindings calling tmpfile() blocks interrupt signal (original) (raw)
Florent Pillet fpillet at gmail.com
Thu Jul 7 14:17:13 CEST 2005
- Previous message: [Python-Dev] PEP 343 documentation on Sourceforge Patch tracker
- Next message: [Python-Dev] C bindings calling tmpfile() blocks interrupt signal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I discovered an issue on Mac OS X that seems to relate to signal handling. I have a C binding in which I call the standard tmpfile() function. After calling it, I can't break Python anymore with CTRL-C.
Investigating the Darwin source code for tmpfile() (and FreeBSD, they are the same) , I found that the function is mucking with the signals:
Is this considered a Python issue, or an OS issue? I ran a simple test against the interrupt signal, which didn't show any wrong behavior:
static void intcatcher(int sig) { printf("Interrupt catched\n"); exit(1); } int main(int argc, char **argv) { signal(SIGINT, intcatcher); printf("Press CTRL-C to interrupt...\n"); tmpfile(); while (1) ; return 0; }
But with my threaded Python code, SIGINT doesn't work anymore after my binding has called tmpfile().
Florent
-- Florent Pillet http://www.florentpillet.com Freelance software developer/consultant - Palm OS & Mac OS X ICQ: 117292463 Skype: callto://florent.pillet
- Previous message: [Python-Dev] PEP 343 documentation on Sourceforge Patch tracker
- Next message: [Python-Dev] C bindings calling tmpfile() blocks interrupt signal
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]