summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Python issue #23243: Fix _UnixWritePipeTransport.close()Victor Stinner2015-01-152-1/+4
| | | | | Do nothing if the transport is already closed. Before it was not possible to close the transport twice.
* SSLProtocol: set the _transport attribute in the constructorVictor Stinner2015-01-151-0/+1
|
* Python issue #23242: SubprocessStreamProtocol now closes the subprocessVictor Stinner2015-01-151-1/+4
| | | | | | transport at subprocess exit. Clear also its reference to the transport.
* Python issue #22560: Fix SSLProtocol._on_handshake_complete()Victor Stinner2015-01-151-2/+6
| | | | | | 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: close() now clears the reference to the transportVictor Stinner2015-01-151-4/+21
| | | | | StreamWriter now raises an exception if it is closed: write(), writelines(), write_eof(), can_write_eof(), get_extra_info(), drain().
* PipeHandle now uses None instead of -1 for a closed handleVictor Stinner2015-01-141-5/+5
| | | | Sort also imports in windows_utils.
* Fix test_events on Python older than 3.5Victor Stinner2015-01-141-0/+17
| | | | Skip SSL tests on the ProactorEventLoop if ssl.MemoryIO is missing
* Fix BaseEventLoop._create_connection_transport()Victor Stinner2015-01-141-1/+6
| | | | | 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 closedVictor Stinner2015-01-141-0/+1
|
* Fix BaseSubprocessTransport.close()Victor Stinner2015-01-141-0/+2
| | | | 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 ↵Victor Stinner2015-01-141-0/+1
| | | | (BaseEventLoop)
* cleanup BaseSelectorEventLoopVictor Stinner2015-01-141-2/+3
| | | | Create the protocol on a separated line for readability and ease debugging.
* Fix BaseSubprocessTransport._kill_wait()Victor Stinner2015-01-141-1/+1
| | | | Set the _returncode attribute, so close() doesn't try to terminate the process.
* Tests: explicitly close event loops and transportsVictor Stinner2015-01-145-0/+9
|
* UNIX pipe transports: add closed/closing in repr()Victor Stinner2015-01-141-2/+12
| | | | | Add "closed" or "closing" state in the __repr__() method of _UnixReadPipeTransport and _UnixWritePipeTransport classes.
* Python issue #23197: On SSL handshake failure on matching hostname, check ifVictor Stinner2015-01-141-1/+2
| | | | the waiter is cancelled before setting its exception.
* Python issue #23197: On SSL handshake failure, check if the waiter is cancelledVictor Stinner2015-01-144-6/+63
| | | | | | before setting its exception. Add unit tests for this case.
* Cleanup sslproto.pyVictor Stinner2015-01-141-1/+2
|
* Python issue #23173: Fix SubprocessStreamProtocol.connection_made() to handleVictor Stinner2015-01-142-1/+39
| | | | | | cancelled waiter. Add unit test cancelling subprocess methods.
* Python issue #23173: If an exception is raised during the creation of aVictor Stinner2015-01-142-26/+63
| | | | | subprocess, kill the subprocess (close pipes, kill and read the return status). Log an error in such case.
* Python issue #23198: Reactor StreamReaderVictor Stinner2015-01-141-25/+22
| | | | | | - 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
* Python issue #22560: New SSL implementation based on ssl.MemoryBIOVictor Stinner2015-01-146-38/+747
| | | | | | | | | | | | | | | | | | | 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.
* Tulip issue 184: Fix test_pipe() on WindowsVictor Stinner2015-01-131-1/+2
| | | | Pass explicitly the event loop to StreamReaderProtocol.
* Python issue #22922: Fix ProactorEventLoop.close()Victor Stinner2015-01-131-1/+7
| | | | | Close the IocpProactor before closing the event loop. IocpProactor.close() can call loop.call_soon(), which is forbidden when the event loop is closed.
* Python issue #23209, #23225: selectors.BaseSelector.get_key() now raises aVictor Stinner2015-01-132-4/+10
| | | | | | RuntimeError if the selector is closed. And selectors.BaseSelector.close() now clears its internal reference to the selector mapping to break a reference cycle. Initial patch written by Martin Richard.
* Python issue #23209: Revert change on selectors, test_selectors failed.Victor Stinner2015-01-091-1/+0
|
* Python issue #23209: Break some reference cycles in asyncio. Patch written byVictor Stinner2015-01-093-1/+3
| | | | Martin Richard.
* Make the release.py program executable on UNIXVictor Stinner2015-01-091-0/+1
|
* tox.ini: add py3_release env to run tests in release modeVictor Stinner2015-01-091-1/+7
|
* Tulip issue #184: FlowControlMixin constructor now get the event loop if theVictor Stinner2015-01-092-3/+26
| | | | | | | loop parameter is not set Add unit tests to ensure that constructor of StreamReader and StreamReaderProtocol classes get the event loop.
* Remove outdated TODO/XXXVictor Stinner2015-01-094-8/+3
| | | | | | | | | | * Yes, futures errors (Error, CancelledError, TimeoutError, ...) are aliases of concurrent.futures errors * InvalidStateError: the state is already logged in the message when the exception is raised * call_exception_handler() now makes possible to decide how to handle exceptions * Add a docstring to _UnixDefaultEventLoopPolicy
* tox.ini: add py35 envVictor Stinner2015-01-091-1/+4
|
* Replace test_selectors.py with the file of Python 3.5 adapted for asyncio andVictor Stinner2015-01-091-161/+395
| | | | | | | | Python 3.3 * Use time.time if time.monotonic is not available * Get socketpair from asyncio.test_utils * Get selectors from asyncio.selectors
* Document why set_result() calls are safeVictor Stinner2015-01-091-0/+6
|
* Cleanup gather()Victor Stinner2015-01-091-4/+7
| | | | 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 socketVictor Stinner2015-01-091-3/+3
|
* selectors: truncate to 80 charactersVictor Stinner2015-01-091-1/+2
|
* Truncate to 80 columnsVictor Stinner2015-01-0914-43/+75
|
* _make_ssl_transport: make the waiter parameter optionalVictor Stinner2015-01-082-3/+3
|
* Python issue #23140: Simplify the unit testVictor Stinner2015-01-061-8/+6
|
* Issue #23140: Fix cancellation of Process.wait(). Check the state of the waiterVictor Stinner2015-01-062-1/+30
| | | | future before setting its result.
* Python issue #23046: Expose the BaseEventLoop class in the asyncio namespaceVictor Stinner2015-01-062-2/+4
|
* fix typoVictor Stinner2014-12-261-1/+1
|
* MANIFEST.in: add run_aiotest.pyVictor Stinner2014-12-261-1/+1
|
* CPython doesn't have asyncio.test_supportVictor Stinner2014-12-266-24/+46
|
* Python issue #22926: In debug mode, call_soon(), call_at() and call_later()Victor Stinner2014-12-266-62/+89
| | | | | | | | | | methods of 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 doc of get and put methods of QueueVictor Stinner2014-12-261-3/+7
|
* release.py: fix the message of publish_wheel()Victor Stinner2014-12-201-1/+1
|
* release.py register now upload for realVictor Stinner2014-12-191-3/+2
| | | | publish_wheel() is now also more verbose
* MANIFEST.in: add release.pyVictor Stinner2014-12-191-1/+1
|