[Python-checkins] cpython (3.4): asyncio: IocpProactor.close() doesn't cancel anymore futures which are already

victor.stinner python-checkins at python.org
Thu Jan 22 22:58:44 CET 2015


https://hg.python.org/cpython/rev/7d5c23b87eae
changeset: 94240:7d5c23b87eae
branch: 3.4
parent: 94238:4f928c70f135
user: Victor Stinner <victor.stinner at gmail.com>
date: Thu Jan 22 22:47:13 2015 +0100
summary:
 asyncio: IocpProactor.close() doesn't cancel anymore futures which are already
cancelled
files:
 Lib/asyncio/windows_events.py | 10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/Lib/asyncio/windows_events.py b/Lib/asyncio/windows_events.py
--- a/Lib/asyncio/windows_events.py
+++ b/Lib/asyncio/windows_events.py
@@ -693,12 +693,16 @@
 # queues a task to Windows' thread pool. This cannot
 # be cancelled, so just forget it.
 del self._cache[address]
- # FIXME: Tulip issue 196: remove this case, it should not happen
- elif fut.done() and not fut.cancelled():
- del self._cache[address]
+ elif fut.cancelled():
+ # Nothing to do with cancelled futures
+ pass
 elif isinstance(fut, _WaitCancelFuture):
 # _WaitCancelFuture must not be cancelled
 pass
+ elif fut.done():
+ # FIXME: Tulip issue 196: remove this case, it should not
+ # happen
+ del self._cache[address]
 else:
 try:
 fut.cancel()
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /