This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients brian.curtin, jnoller, pitrou, sbt, tim.golden
Date 2011-06-15.22:29:01
SpamBayes Score 1.6422974e-12
Marked as misclassified No
Message-id <1308176942.86.0.122290496561.issue12328@psf.upfronthosting.co.za>
In-reply-to
Content
> 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.)
History
Date User Action Args
2011-06-15 22:29:02pitrousetrecipients: + pitrou, tim.golden, jnoller, brian.curtin, sbt
2011-06-15 22:29:02pitrousetmessageid: <1308176942.86.0.122290496561.issue12328@psf.upfronthosting.co.za>
2011-06-15 22:29:02pitroulinkissue12328 messages
2011-06-15 22:29:01pitroucreate