cpython: 36e80c6599aa (original) (raw)

Mercurial > cpython

changeset 94323:36e80c6599aa 3.4

Issue #23095, asyncio: Fix _WaitHandleFuture.cancel() If UnregisterWaitEx() fais with ERROR_IO_PENDING, it doesn't mean that the wait is unregistered yet. We still have to wait until the wait is cancelled. [#23095]

Victor Stinner victor.stinner@gmail.com
date Mon, 26 Jan 2015 22:30:28 +0100
parents 99c3e304a4ea
children 9532923cbf2b
files Lib/asyncio/windows_events.py
diffstat 1 files changed, 17 insertions(+), 20 deletions(-)[+] [-] Lib/asyncio/windows_events.py 37

line wrap: on

line diff

--- a/Lib/asyncio/windows_events.py +++ b/Lib/asyncio/windows_events.py @@ -126,14 +126,12 @@ class _BaseWaitHandleFuture(futures.Futu return self._registered = False

@@ -142,9 +140,10 @@ class _BaseWaitHandleFuture(futures.Futu if self._source_traceback: context['source_traceback'] = self._source_traceback self._loop.call_exception_handler(context)

+

def cancel(self): self._unregister_wait() @@ -209,14 +208,12 @@ class _WaitHandleFuture(_BaseWaitHandleF return self._registered = False

@@ -225,11 +222,11 @@ class _WaitHandleFuture(_BaseWaitHandleF if self._source_traceback: context['source_traceback'] = self._source_traceback self._loop.call_exception_handler(context)

+

class PipeServer(object):