asyncion, Tulip issue 181: BaseEventLoop.create_datagram_endpoint() now waits

until protocol.connection_made() has been called. Document also why transport
constructors use a waiter.
This commit is contained in:
Victor Stinner 2014-07-08 23:57:31 +02:00
parent aea82293be
commit bfff45d611
5 changed files with 28 additions and 5 deletions

View file

@ -269,6 +269,7 @@ class _UnixReadPipeTransport(transports.ReadTransport):
self._loop.add_reader(self._fileno, self._read_ready)
self._loop.call_soon(self._protocol.connection_made, self)
if waiter is not None:
# wait until protocol.connection_made() has been called
self._loop.call_soon(waiter._set_result_unless_cancelled, None)
def _read_ready(self):
@ -353,6 +354,7 @@ class _UnixWritePipeTransport(transports._FlowControlMixin,
self._loop.call_soon(self._protocol.connection_made, self)
if waiter is not None:
# wait until protocol.connection_made() has been called
self._loop.call_soon(waiter._set_result_unless_cancelled, None)
def get_write_buffer_size(self):