Commit f80c52bf authored by Victor Stinner's avatar Victor Stinner

(Merge 3.4) asyncio: sync with Tulip

- Tulip issue #181: Faster create_connection(). Call directly
  waiter.set_result() in the constructor of _ProactorBasePipeTransport and
  _SelectorSocketTransport, instead of using of delaying the call with
  call_soon().
- Cleanup iscoroutine()
parents 07de7b5d 1a870c91
...@@ -166,7 +166,7 @@ def iscoroutinefunction(func): ...@@ -166,7 +166,7 @@ def iscoroutinefunction(func):
return getattr(func, '_is_coroutine', False) return getattr(func, '_is_coroutine', False)
_COROUTINE_TYPES = (CoroWrapper, types.GeneratorType) _COROUTINE_TYPES = (types.GeneratorType, CoroWrapper)
def iscoroutine(obj): def iscoroutine(obj):
"""Return True if obj is a coroutine object.""" """Return True if obj is a coroutine object."""
......
...@@ -38,7 +38,7 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin, ...@@ -38,7 +38,7 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin,
self._server.attach(self) self._server.attach(self)
self._loop.call_soon(self._protocol.connection_made, self) self._loop.call_soon(self._protocol.connection_made, self)
if waiter is not None: if waiter is not None:
self._loop.call_soon(waiter._set_result_unless_cancelled, None) waiter.set_result(None)
def _set_extra(self, sock): def _set_extra(self, sock):
self._extra['pipe'] = sock self._extra['pipe'] = sock
......
...@@ -481,7 +481,7 @@ class _SelectorSocketTransport(_SelectorTransport): ...@@ -481,7 +481,7 @@ class _SelectorSocketTransport(_SelectorTransport):
self._loop.add_reader(self._sock_fd, self._read_ready) self._loop.add_reader(self._sock_fd, self._read_ready)
self._loop.call_soon(self._protocol.connection_made, self) self._loop.call_soon(self._protocol.connection_made, self)
if waiter is not None: if waiter is not None:
self._loop.call_soon(waiter._set_result_unless_cancelled, None) waiter.set_result(None)
def pause_reading(self): def pause_reading(self):
if self._closing: if self._closing:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment