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, python-dev, sbt, tim.golden
Date 2011-11-23.00:03:24
SpamBayes Score 1.6723179e-07
Marked as misclassified No
Message-id <1322005661.3267.3.camel@localhost.localdomain>
In-reply-to <1321814465.51.0.759877323291.issue12328@psf.upfronthosting.co.za>
Content
> Here is an updated patch (pipe_poll_fix.patch) which should be applied
> on top of sigint_event.patch.
> 
> It fixes the problems with PipeConnection.poll() and Queue.empty() and
> makes PipeListener.accept() use overlapped I/O.  This should make all
> the pipe releated blocking functions/methods interruptible on Windows.

I have the feeling that if we have to call GetLastError() at the Python
level, then there's something wrong with the APIs we're exposing from
the C extension. 
I see you check for ERROR_OPERATION_ABORTED. Is there any situation
where this can happen?
Also, it seems strange to call ov.cancel() and then
ov.GetOverlappedResult(). AFAICT, those two operations should be
mutually exclusive: you call the former if e.g. WaitForMultipleObjects
raised an exception, the latter otherwise.
History
Date User Action Args
2011-11-23 00:03:25pitrousetrecipients: + pitrou, tim.golden, jnoller, brian.curtin, python-dev, sbt
2011-11-23 00:03:25pitroulinkissue12328 messages
2011-11-23 00:03:24pitroucreate