summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/queues.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-01-09 00:43:04 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-01-09 00:43:04 (GMT)
commitb551fac136940975e646ba8ed97dad455890bc3b (patch)
treeb1dc7d469cd66b9cae35011c947353bd23db69ab /Lib/asyncio/queues.py
parent25638d3109f6de1651fc8f39799b87d5347d59ad (diff)
parent3531d9044dbfd15b3bf5ec1abe5b9744fce37464 (diff)
downloadcpython-b551fac136940975e646ba8ed97dad455890bc3b.zip
cpython-b551fac136940975e646ba8ed97dad455890bc3b.tar.gz
cpython-b551fac136940975e646ba8ed97dad455890bc3b.tar.bz2
Merge 3.4 (asyncio)
Diffstat (limited to 'Lib/asyncio/queues.py')
-rw-r--r--Lib/asyncio/queues.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/asyncio/queues.py b/Lib/asyncio/queues.py
index 8f6c257..dce0d53 100644
--- a/Lib/asyncio/queues.py
+++ b/Lib/asyncio/queues.py
@@ -126,6 +126,8 @@ class Queue:
# Use _put and _get instead of passing item straight to getter, in
# case a subclass has logic that must run (e.g. JoinableQueue).
self._put(item)
+
+ # getter cannot be cancelled, we just removed done getters
getter.set_result(self._get())
elif self._maxsize > 0 and self._maxsize <= self.qsize():
@@ -152,6 +154,8 @@ class Queue:
# Use _put and _get instead of passing item straight to getter, in
# case a subclass has logic that must run (e.g. JoinableQueue).
self._put(item)
+
+ # getter cannot be cancelled, we just removed done getters
getter.set_result(self._get())
elif self._maxsize > 0 and self._maxsize <= self.qsize():
@@ -200,6 +204,8 @@ class Queue:
item, putter = self._putters.popleft()
self._put(item)
# Wake putter on next tick.
+
+ # getter cannot be cancelled, we just removed done putters
putter.set_result(None)
return self._get()