diff options
author | Yury Selivanov <yselivanov@sprymix.com> | 2016-05-16 15:39:39 -0400 |
---|---|---|
committer | Yury Selivanov <yselivanov@sprymix.com> | 2016-05-16 15:39:39 -0400 |
commit | 8ace2c66d35cf4cbb2d4a6383e33c0bb96448ecb (patch) | |
tree | a4d780ee11c4d8732b927c8271eb5427428fb39c /Lib/asyncio/base_events.py | |
parent | 7c3ac2d1f82ed44a90de34d5bc6424c64b19ce68 (diff) | |
parent | 7661db622892c9731c502ccdd7af130cbfd23f5c (diff) | |
download | cpython-git-8ace2c66d35cf4cbb2d4a6383e33c0bb96448ecb.tar.gz |
Merge 3.5 (Issue #27041)
Diffstat (limited to 'Lib/asyncio/base_events.py')
-rw-r--r-- | Lib/asyncio/base_events.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 6e93d6d3b2..4aac4ac8e2 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -209,7 +209,7 @@ class Server(events.AbstractServer): def wait_closed(self): if self.sockets is None or self._waiters is None: return - waiter = futures.Future(loop=self._loop) + waiter = self._loop.create_future() self._waiters.append(waiter) yield from waiter @@ -243,6 +243,10 @@ class BaseEventLoop(events.AbstractEventLoop): % (self.__class__.__name__, self.is_running(), self.is_closed(), self.get_debug())) + def create_future(self): + """Create a Future object attached to the loop.""" + return futures.Future(loop=self) + def create_task(self, coro): """Schedule a coroutine object. @@ -537,7 +541,7 @@ class BaseEventLoop(events.AbstractEventLoop): assert not args assert not isinstance(func, events.TimerHandle) if func._cancelled: - f = futures.Future(loop=self) + f = self.create_future() f.set_result(None) return f func, args = func._callback, func._args @@ -580,7 +584,7 @@ class BaseEventLoop(events.AbstractEventLoop): family=0, type=0, proto=0, flags=0): info = _ipaddr_info(host, port, family, type, proto) if info is not None: - fut = futures.Future(loop=self) + fut = self.create_future() fut.set_result([info]) return fut elif self._debug: @@ -721,7 +725,7 @@ class BaseEventLoop(events.AbstractEventLoop): def _create_connection_transport(self, sock, protocol_factory, ssl, server_hostname): protocol = protocol_factory() - waiter = futures.Future(loop=self) + waiter = self.create_future() if ssl: sslcontext = None if isinstance(ssl, bool) else ssl transport = self._make_ssl_transport( @@ -841,7 +845,7 @@ class BaseEventLoop(events.AbstractEventLoop): raise exceptions[0] protocol = protocol_factory() - waiter = futures.Future(loop=self) + waiter = self.create_future() transport = self._make_datagram_transport( sock, protocol, r_addr, waiter) if self._debug: @@ -980,7 +984,7 @@ class BaseEventLoop(events.AbstractEventLoop): @coroutine def connect_read_pipe(self, protocol_factory, pipe): protocol = protocol_factory() - waiter = futures.Future(loop=self) + waiter = self.create_future() transport = self._make_read_pipe_transport(pipe, protocol, waiter) try: @@ -997,7 +1001,7 @@ class BaseEventLoop(events.AbstractEventLoop): @coroutine def connect_write_pipe(self, protocol_factory, pipe): protocol = protocol_factory() - waiter = futures.Future(loop=self) + waiter = self.create_future() transport = self._make_write_pipe_transport(pipe, protocol, waiter) try: |