| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
transport at subprocess exit.
Clear also its reference to the transport.
|
| |
|
|
|
|
|
|
| |
Don't call immediatly self._process_write_backlog() but schedule the call using
call_soon(). _on_handshake_complete() can be called indirectly from
_process_write_backlog(), and _process_write_backlog() is not reentrant.
|
|
|
|
|
| |
StreamWriter now raises an exception if it is closed: write(), writelines(),
write_eof(), can_write_eof(), get_extra_info(), drain().
|
|
|
|
| |
Patch by Marc Abramowitz.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
waiter is cancelled before setting its exception.
|
|
|
|
|
|
|
| |
cancelled before setting its exception.
* Add unit tests for this case.
* Cleanup also sslproto.py
|
|
|
|
|
|
|
|
| |
* If an exception is raised during the creation of a subprocess, kill the
subprocess (close pipes, kill and read the return status). Log an error in
such case.
* Fix SubprocessStreamProtocol.connection_made() to handle cancelled waiter.
Add unit test cancelling subprocess methods.
|
|
|
|
|
|
| |
- Add a new _wakeup_waiter() method
- Replace _create_waiter() method with a _wait_for_data() coroutine function
- Use the value None instead of True or False to wake up the waiter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new SSL implementation is based on the new ssl.MemoryBIO which is only
available on Python 3.5. On Python 3.4 and older, the legacy SSL implementation
(using SSL_write, SSL_read, etc.) is used. The proactor event loop only
supports the new implementation.
The new asyncio.sslproto module adds _SSLPipe, SSLProtocol and
_SSLProtocolTransport classes. _SSLPipe allows to "wrap" or "unwrap" a socket
(switch between cleartext and SSL/TLS).
Patch written by Antoine Pitrou. sslproto.py is based on gruvi/ssl.py of the
gruvi project written by Geert Jansen.
This change adds SSL support to ProactorEventLoop on Python 3.5 and newer!
It becomes also possible to implement STARTTTLS: switch a cleartext socket to
SSL.
|
|
|
|
| |
Pass explicitly the event loop to StreamReaderProtocol.
|
|
|
|
|
| |
Close the IocpProactor before closing the event loop. IocpProactor.close() can
call loop.call_soon(), which is forbidden when the event loop is closed.
|
|
|
|
| |
Patch by Karan Goel.
|
|
|
|
|
| |
reference to the selector mapping to break a reference cycle. Initial patch
written by Martin Richard.
|
| |
|
| |
|
|
|
|
| |
Richard.
|
|
|
|
|
|
|
| |
* Tulip issue 184: FlowControlMixin constructor now get the event loop if the
loop parameter is not set. Add unit tests to ensure that constructor of
StreamReader and StreamReaderProtocol classes get the event loop.
* Remove outdated TODO/XXX
|
|
|
|
|
|
|
|
| |
* Document why set_result() calls are safe
* Cleanup gather(). Use public methods instead of hacks to consume the
exception of a future.
* sock_connect(): pass directly the fd to _sock_connect_done instead of the
socket.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- clarified the distinction between text encodings and other codecs
- clarified relationship with builtin open and the io module
- consolidated documentation of error handlers into one section
- clarified type constraints of some behaviours
- added tests for some of the new statements in the docs
|
|
|
|
|
| |
availability of the function is checked during the compilation. Patch written
by Bernard Spil.
|
|
|
|
|
|
| |
ssl.PROTOCOL_SSLv23 protocol by default, not ssl.PROTOCOL_SSLv3, for maximum
compatibility and support platforms where ssl.PROTOCOL_SSLv3 support is
disabled.
|
|
|
|
| |
functools.total_ordering.
|
| |
|
|
|
|
| |
the waiter future before setting its result.
|
| |
|
|
|
|
| |
10.4 systems do not allow creation of files with such filenames.
|
|
|
|
| |
Patch by Vajrasky Kok.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
asyncio.BaseEventLoop now use the identifier of the current thread to ensure
that they are called from the thread running the event loop.
Before, the get_event_loop() method was used to check the thread, and no
exception was raised when the thread had no event loop. Now the methods always
raise an exception in debug mode when called from the wrong thread. It should
help to notice misusage of the API.
|
|
|
|
|
| |
* Fix pyflakes warnings: remove unused imports and variables
* asyncio.test_support now uses test.support and test.script_helper if available
|
|
|
|
| |
instead of reading /dev/urandom, to get pseudo-random bytes.
|
|
|
|
| |
(closes #23112)
|
|
|
|
| |
Patch by Wojtek Ruszczewski.
|
| |
|
| |
|
|
|
|
| |
Patch by Martin Panter.
|
| |
|
| |
|
| |
|
|
|
|
| |
future
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix a race condition in BaseSubprocessTransport._try_finish().
If the process exited before the _post_init() method was called, scheduling
the call to _call_connection_lost() with call_soon() is wrong:
connection_made() must be called before connection_lost().
Reuse the BaseSubprocessTransport._call() method to schedule the call to
_call_connection_lost() to ensure that connection_made() and
connection_lost() are called in the correct order.
* Add repr(PipeHandle)
* Fix typo
|
| |
|