mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
asyncio: sync with Tulip
* PipeHandle now uses None instead of -1 for a closed handle * Sort imports in windows_utils. * Fix test_events on Python older than 3.5. Skip SSL tests on the ProactorEventLoop if ssl.MemoryIO is missing * Fix BaseEventLoop._create_connection_transport(). Close the transport if the creation of the transport (if the waiter) gets an exception. * _ProactorBasePipeTransport now sets _sock to None when the transport is closed. * Fix BaseSubprocessTransport.close(). Ignore pipes for which the protocol is not set yet (still equal to None). * TestLoop.close() now calls the close() method of the parent class (BaseEventLoop). * Cleanup BaseSelectorEventLoop: create the protocol on a separated line for readability and ease debugging. * Fix BaseSubprocessTransport._kill_wait(). Set the _returncode attribute, so close() doesn't try to terminate the process. * Tests: explicitly close event loops and transports * UNIX pipe transports: add closed/closing in repr(). Add "closed" or "closing" state in the __repr__() method of _UnixReadPipeTransport and _UnixWritePipeTransport classes.
This commit is contained in:
parent
b92626df5c
commit
29ad0111bd
12 changed files with 57 additions and 11 deletions
|
@ -182,13 +182,14 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop):
|
|||
else:
|
||||
raise # The event loop will catch, log and ignore it.
|
||||
else:
|
||||
protocol = protocol_factory()
|
||||
if sslcontext:
|
||||
self._make_ssl_transport(
|
||||
conn, protocol_factory(), sslcontext,
|
||||
conn, protocol, sslcontext,
|
||||
server_side=True, extra={'peername': addr}, server=server)
|
||||
else:
|
||||
self._make_socket_transport(
|
||||
conn, protocol_factory(), extra={'peername': addr},
|
||||
conn, protocol , extra={'peername': addr},
|
||||
server=server)
|
||||
# It's now up to the protocol to handle the connection.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue