- 16 Kas, 2015 1 kayıt (commit)
-
-
Yury Selivanov yazdı
See https://github.com/python/asyncio/pull/291 for details.
-
- 09 Tem, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
* queues: get coroutine from asyncio.coroutines, not from asyncio.tasks * tets: replace tulip with asyncio in comments
-
- 27 Mar, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 29 Ock, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
* _SelectorTransport constructor: extra parameter is now optional * Fix _SelectorDatagramTransport constructor. Only start reading after connection_made() has been called. * Fix _SelectorSslTransport.close(). Don't call protocol.connection_lost() if protocol.connection_made() was not called yet: if the SSL handshake failed or is still in progress. The close() method can be called if the creation of the connection is cancelled, by a timeout for example.
-
- 28 Ock, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
Only start reading when connection_made() has been called: protocol.data_received() must not be called before protocol.connection_made().
-
- 15 Ock, 2015 3 kayıt (commit)
-
-
Victor Stinner yazdı
* Use test_utils.run_briefly() to execute pending calls to really close transports * sslproto: mock also _SSLPipe.shutdown(), it's need to close the transport * pipe test: the test doesn't close explicitly the PipeHandle, so ignore the warning instead * test_popen: use the context manager ("with p:") to explicitly close pipes
-
Victor Stinner yazdı
-
Victor Stinner yazdı
-
- 14 Ock, 2015 2 kayıt (commit)
-
-
Victor Stinner yazdı
* 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.
-
Victor Stinner yazdı
cancelled before setting its exception. * Add unit tests for this case. * Cleanup also sslproto.py
-
- 13 Ock, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
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.
-
- 26 Ara, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
* Fix pyflakes warnings: remove unused imports and variables * asyncio.test_support now uses test.support and test.script_helper if available
-
- 23 Kas, 2014 1 kayıt (commit)
-
-
Benjamin Peterson yazdı
Patch by Donald Stufft.
-
- 31 Agu, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
There is a race condition in create_connection() used with wait_for() to have a timeout. sock_connect() registers the file descriptor of the socket to be notified of write event (if connect() raises BlockingIOError). When create_connection() is cancelled with a TimeoutError, sock_connect() coroutine gets the exception, but it doesn't unregister the file descriptor for write event. create_connection() gets the TimeoutError and closes the socket. If you call again create_connection(), the new socket will likely gets the same file descriptor, which is still registered in the selector. When sock_connect() calls add_writer(), it tries to modify the entry instead of creating a new one. This issue was originally reported in the Trollius project, but the bug comes from Tulip in fact (Trollius is based on Tulip): https://bitbucket.org/enovance/trollius/issue/15/after-timeouterror-on-wait_for This change fixes the race condition. It also makes sock_connect() more reliable (and portable) is sock.connect() raises an InterruptedError.
-
- 25 Agu, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
* PipeServer.close() now cancels the "accept pipe" future which cancels the overlapped operation. * Fix _SelectorTransport.__repr__() if the transport was closed * Fix debug log in BaseEventLoop.create_connection(): get the socket object from the transport because SSL transport closes the old socket and creates a new SSL socket object. Remove also the _SelectorSslTransport._rawsock attribute: it contained the closed socket (not very useful) and it was not used. * Issue #22063: socket operations (sock_recv, sock_sendall, sock_connect, sock_accept) of the proactor event loop don't raise an exception in debug mode if the socket are in blocking mode. Overlapped operations also work on blocking sockets. * Fix unit tests in debug mode: mock a non-blocking socket for socket operations which now raise an exception if the socket is blocking. * _fatal_error() method of _UnixReadPipeTransport and _UnixWritePipeTransport now log all exceptions in debug mode * Don't log expected errors in unit tests * Tulip issue 200: _WaitHandleFuture._unregister_wait() now catchs and logs exceptions. * Tulip issue 200: Log errors in debug mode instead of simply ignoring them.
-
- 23 Tem, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
* Tulip issue 194: Don't use sys.getrefcount() in unit tests * signal.set_wakeup_fd() can now raise an OSError on Python 3.5
-
- 16 Tem, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
The _SelectorSslTransport constructor already calls it.
-
- 14 Tem, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
in debug mode
-
- 12 Tem, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
* Tulip issue #183: log socket events in debug mode - Log most important socket events: socket connected, new client, connection reset or closed by peer (EOF), etc. - Log time elapsed in DNS resolution (getaddrinfo) - Log pause/resume reading - Log time of SSL handshake - Log SSL handshake errors - Add a __repr__() method to many classes * Fix ProactorEventLoop() in debug mode. ProactorEventLoop._make_self_pipe() doesn't call call_soon() directly because it checks for the current loop which fails, because the method is called to build the event loop. * Cleanup _ProactorReadPipeTransport constructor. Not need to set again _read_fut attribute to None, it is already done in the base class.
-
- 22 Haz, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
environment variable is set
-
- 18 Haz, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
- Add a missing import - Remove an unused import - Remove unused variables
-
- 17 Haz, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 10 Haz, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
Add BaseEventLoop._closed attribute and use it to check if the event loop was closed or not, instead of checking different attributes in each subclass of BaseEventLoop. run_forever() and run_until_complete() methods now raise a RuntimeError('Event loop is closed') exception if the event loop was closed. BaseProactorEventLoop.close() now also cancels "accept futures".
-
- 27 May, 2014 1 kayıt (commit)
-
-
Andrew Svetlov yazdı
-
- 06 May, 2014 1 kayıt (commit)
-
-
Guido van Rossum yazdı
-
- 26 Şub, 2014 2 kayıt (commit)
-
-
Victor Stinner yazdı
-
Victor Stinner yazdı
Use "from unittest import mock". It should simplify my work to merge new tests in Trollius, because Trollius uses "mock" backport for Python 2.
-
- 19 Şub, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
Mention if the error was caused by a read or a write, and be more specific on the object (ex: "pipe transport" instead of "transport").
-
- 18 Şub, 2014 2 kayıt (commit)
-
-
Yury Selivanov yazdı
-
Yury Selivanov yazdı
-
- 11 Şub, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
call_at() and run_in_executor() now raise a TypeError if the callback is a coroutine function.
-
- 19 Şub, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
Mention if the error was caused by a read or a write, and be more specific on the object (ex: "pipe transport" instead of "transport").
-
- 18 Şub, 2014 2 kayıt (commit)
-
-
Yury Selivanov yazdı
-
Yury Selivanov yazdı
-
- 11 Şub, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
call_at() and run_in_executor() now raise a TypeError if the callback is a coroutine function.
-
- 09 Şub, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 25 Ock, 2014 3 kayıt (commit)
-
-
Victor Stinner yazdı
BaseProactorEventLoop Import them from submodules if you really need them.
-
Victor Stinner yazdı
Major changes: - StreamReader.readexactly() now raises an IncompleteReadError if the end of stream is reached before we received enough bytes, instead of returning less bytes than requested. - Unit tests use the main asyncio module instead of submodules like events - _UnixWritePipeTransport now also supports character devices, as _UnixReadPipeTransport. Patch written by Jonathan Slenders. - Export more symbols: BaseEventLoop, BaseProactorEventLoop, BaseSelectorEventLoop, Queue and Queue sublasses, Empty, Full
-
Victor Stinner yazdı
between the resolution of the BaseEventLoop.time() method and the resolution of the selector. The granuarility is used in the scheduler to round time and deadline.
-
- 27 Kas, 2013 1 kayıt (commit)
-
-
Guido van Rossum yazdı
asyncio: Change write buffer use to avoid O(N**2). Make write()/sendto() accept bytearray/memoryview too. Change some asserts with proper exceptions.
-