Skip to content
This repository has been archived by the owner on Nov 23, 2017. It is now read-only.

_WaitHandleFuture.cancel() crash if the wait event was already unregistered #195

Closed
GoogleCodeExporter opened this issue Apr 10, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

While working on on a SIGINT signal handler for the ProactorEventLoop on 
Windows (issue #191), I hit a bug on Windows: _WaitHandleFuture.cancel() crash 
if the wait event was already unregistered by finish_wait_for_handle().

Work-in-progress patch to fix _WaitHandleFuture.cancel():
http://codereview.appspot.com/114250043

The patch logs also OSError in _OverlappedFuture.cancel(), I didn't test this 
change.

I also added a FIXME "why is ERROR_IO_PENDING ignored?" on 
_overlapped.UnregisterWait(), because I don't understand why the error is 
ignored. I should read the doc, but I didn't have the time for that yet:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686870%28v=vs.85%29.as
px

Original issue reported on code.google.com by victor.s...@gmail.com on 22 Jul 2014 at 4:03

@GoogleCodeExporter
Copy link
Author

I commited a serie of patches to improve stability of the proactor event loop, 
especially operations on overlapped objects.

Changesets fixing this issue: Tulip (f9c2ed4d61c8, 680be4d4559c), Python 3.4 
(ea1057bc60ab), Python 3.5 (0ca9e0aa06df).

Original comment by victor.s...@gmail.com on 24 Jul 2014 at 10:59

  • Changed state: Fixed

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant