Antoine Pitrou <pit...@free.fr> added the comment:

> pipe_interruptible.patch is a patch to support to making poll()
> interruptible.  It applies on top of pipe_poll_2.patch.

Hmm, it seems to me that it should be done in _poll() instead. Otherwise, 
recv() will not be interruptible, will it?

Also, after looking at this again, it seems sigint_event would be better 
provided (at the C level) by the Python core, e.g. as _PyOS_SigintEvent. The 
time module already uses a similar mechanism.

By setting the event in the sigint handler itself, rather than in an auxiliary 
HandlerRoutine callback function, it should also ensure that, when the event is 
set, the "tripped" bit in signalmodule.c has been set, meaning we wouldn't need 
to Sleep() anymore.

(I also wonder why the event isn't auto-reset. Otherwise, there's a race 
condition - which is probably harmless in most cases, but still.)

----------
nosy: +brian.curtin, tim.golden

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12328>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to