[Python-Dev] C bindings calling tmpfile() blocks interrupt signal (original) (raw)

Michael Hudson mwh at python.net
Mon Jul 11 11:32:48 CEST 2005


Florent Pillet <fpillet at gmail.com> writes:

On 07/07/05, Michael Hudson <mwh at python.net> wrote:

> But with my threaded Python code, SIGINT doesn't work anymore after my > binding has called tmpfile(). Oh, threads. Which version of Python are you using? 2.3.5, the one that ships with Mac OS X 10.4. I have a 2.4.x install somewhere, I'll give it a go.

Please do. If my guess as to what's going on is right, you won't have the problem.

But you're right, it's probably because of threads.

You may be able to work around this by only calling tmpfile on the main thread (just a guess).

Now I'm trying to determine whether this is a Python bug or a Mac OS X bug...

Well, again assuming my guess is right, it's probably an OS X bug, but really threads vs signals issues are enormously subtle and frequently messed up.

Python 2.4 is much less vulnerable to such cock ups.

Cheers, mwh

-- we're already scrubbing the face of intuition with steel wool, setting it on fire, then putting it out with an axe . -- Tim Peters, on comparing recursive structures



More information about the Python-Dev mailing list