[Python-Dev] Signals+Threads (PyGTK waking up 10x/sec).
aahz at pythoncraft.com
Fri Dec 14 23:12:58 CET 2007
On Sat, Dec 08, 2007, glyph at divmod.com wrote:
> On 05:20 pm, guido at python.org wrote:
>>The best solution I can think of is to add a new API that takes a
>>signal and a file descriptor and registers a C-level handler for that
>>signal which writes a byte to the file descriptor. You can then create
>>a pipe, connect the signal handler to the write end, and add the read
>>end to your list of file descriptors passed to select() or poll(). The
>>handler must be written in C in order to avoid the race condition
>>referred to by Glyph (signals arriving after the signal check in the
>>VM main loop but before the select()/poll() system call is entered
>>will not be noticed until the select()/poll() call completes).
> This paragraph jogged my memory. I remember this exact solution being
> discussed now, a year ago when I was last talking about these issues.
Ayup. I am extremely far from an expert here, but anyone wanting to
have an informed opinion should really re-read the threads after these
I would recommend requesting review from either Nick Maclaren or Tim
Peters as well.
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
"Typing is cheap. Thinking is expensive." --Roy Smith
More information about the Python-Dev