diff options
author | Yury Selivanov <yselivanov@sprymix.com> | 2016-05-16 15:38:39 -0400 |
---|---|---|
committer | Yury Selivanov <yselivanov@sprymix.com> | 2016-05-16 15:38:39 -0400 |
commit | 7661db622892c9731c502ccdd7af130cbfd23f5c (patch) | |
tree | 3d0d940b0a5a26a1a89e27f6e4969ae612a9cb9b /Lib/asyncio/tasks.py | |
parent | 7ed7ce6ee76c1e4aaa94151f156fb2ba5163b5b2 (diff) | |
download | cpython-git-7661db622892c9731c502ccdd7af130cbfd23f5c.tar.gz |
Issue #27041: asyncio: Add loop.create_future method
Diffstat (limited to 'Lib/asyncio/tasks.py')
-rw-r--r-- | Lib/asyncio/tasks.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index cab4998ee4..81510ba8d4 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -373,7 +373,7 @@ def wait_for(fut, timeout, *, loop=None): if timeout is None: return (yield from fut) - waiter = futures.Future(loop=loop) + waiter = loop.create_future() timeout_handle = loop.call_later(timeout, _release_waiter, waiter) cb = functools.partial(_release_waiter, waiter) @@ -406,7 +406,7 @@ def _wait(fs, timeout, return_when, loop): The fs argument must be a collection of Futures. """ assert fs, 'Set of Futures is empty.' - waiter = futures.Future(loop=loop) + waiter = loop.create_future() timeout_handle = None if timeout is not None: timeout_handle = loop.call_later(timeout, _release_waiter, waiter) @@ -507,7 +507,9 @@ def sleep(delay, result=None, *, loop=None): yield return result - future = futures.Future(loop=loop) + if loop is None: + loop = events.get_event_loop() + future = loop.create_future() h = future._loop.call_later(delay, futures._set_result_unless_cancelled, future, result) @@ -604,7 +606,9 @@ def gather(*coros_or_futures, loop=None, return_exceptions=False): be cancelled.) """ if not coros_or_futures: - outer = futures.Future(loop=loop) + if loop is None: + loop = events.get_event_loop() + outer = loop.create_future() outer.set_result([]) return outer @@ -692,7 +696,7 @@ def shield(arg, *, loop=None): # Shortcut. return inner loop = inner._loop - outer = futures.Future(loop=loop) + outer = loop.create_future() def _done_callback(inner): if outer.cancelled(): |