Merge 3.5 (issue #22970)

This commit is contained in:
Yury Selivanov 2016-06-11 12:01:19 -04:00
commit d35bf03284
2 changed files with 32 additions and 1 deletions

View file

@ -329,7 +329,13 @@ class Condition(_ContextManagerMixin):
self._waiters.remove(fut)
finally:
yield from self.acquire()
# Must reacquire lock even if wait is cancelled
while True:
try:
yield from self.acquire()
break
except futures.CancelledError:
pass
@coroutine
def wait_for(self, predicate):