Closes #21886, #21447: Fix a race condition in asyncio when setting the result

of a Future with call_soon(). Add an helper, a private method, to set the
result only if the future was not cancelled.
This commit is contained in:
Victor Stinner 2014-07-05 15:29:41 +02:00
parent 5021cb553c
commit a9acbe82e7
9 changed files with 31 additions and 7 deletions

View file

@ -64,6 +64,12 @@ class CoroWrapper:
self.gen = gen
self.func = func
self._source_traceback = traceback.extract_stack(sys._getframe(1))
# __name__, __qualname__, __doc__ attributes are set by the coroutine()
# decorator
def __repr__(self):
return ('<%s %s>'
% (self.__class__.__name__, _format_coroutine(self)))
def __iter__(self):
return self