1. 16 Kas, 2015 1 kayıt (commit)
  2. 09 Tem, 2015 1 kayıt (commit)
  3. 27 Mar, 2015 1 kayıt (commit)
  4. 29 Ock, 2015 1 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: sync with Tulip · 47bbea71
      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.
      47bbea71
  5. 28 Ock, 2015 1 kayıt (commit)
  6. 15 Ock, 2015 3 kayıt (commit)
  7. 14 Ock, 2015 2 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: sync with Tulip · 29ad0111
      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.
      29ad0111
    • Victor Stinner's avatar
      Issue #23197, asyncio: On SSL handshake failure, check if the waiter is · 177e9f08
      Victor Stinner yazdı
      cancelled before setting its exception.
      
      * Add unit tests for this case.
      * Cleanup also sslproto.py
      177e9f08
  8. 13 Ock, 2015 1 kayıt (commit)
    • Victor Stinner's avatar
      Issue #22560: New SSL implementation based on ssl.MemoryBIO · 231b404c
      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.
      231b404c
  9. 26 Ara, 2014 1 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: sync with Tulip · d7ff5a53
      Victor Stinner yazdı
      * Fix pyflakes warnings: remove unused imports and variables
      * asyncio.test_support now uses test.support and test.script_helper if available
      d7ff5a53
  10. 23 Kas, 2014 1 kayıt (commit)
  11. 31 Agu, 2014 1 kayıt (commit)
    • Victor Stinner's avatar
      asyncio, Tulip issue 205: Fix a race condition in BaseSelectorEventLoop.sock_connect() · d5aeccf9
      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.
      d5aeccf9
  12. 25 Agu, 2014 1 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: sync with Tulip · b261475a
      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.
      b261475a
  13. 23 Tem, 2014 1 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: sync with Tulip · c4c46491
      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
      c4c46491
  14. 16 Tem, 2014 1 kayıt (commit)
  15. 14 Tem, 2014 1 kayıt (commit)
  16. 12 Tem, 2014 1 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: sync with Tulip · e912e652
      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.
      e912e652
  17. 22 Haz, 2014 1 kayıt (commit)
  18. 18 Haz, 2014 1 kayıt (commit)
  19. 17 Haz, 2014 1 kayıt (commit)
  20. 10 Haz, 2014 1 kayıt (commit)
    • Victor Stinner's avatar
      Issue #21326: Add a new is_closed() method to asyncio.BaseEventLoop · bb2fc5b2
      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".
      bb2fc5b2
  21. 27 May, 2014 1 kayıt (commit)
  22. 06 May, 2014 1 kayıt (commit)
  23. 26 Şub, 2014 2 kayıt (commit)
  24. 19 Şub, 2014 1 kayıt (commit)
  25. 18 Şub, 2014 2 kayıt (commit)
  26. 11 Şub, 2014 1 kayıt (commit)
  27. 19 Şub, 2014 1 kayıt (commit)
  28. 18 Şub, 2014 2 kayıt (commit)
  29. 11 Şub, 2014 1 kayıt (commit)
  30. 09 Şub, 2014 1 kayıt (commit)
  31. 25 Ock, 2014 3 kayıt (commit)
    • Victor Stinner's avatar
      asyncio: Don't export BaseEventLoop, BaseSelectorEventLoop nor · 128ee220
      Victor Stinner yazdı
      BaseProactorEventLoop
      
      Import them from submodules if you really need them.
      128ee220
    • Victor Stinner's avatar
      Update asyncio from the Tulip project · 8dffc456
      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
      8dffc456
    • Victor Stinner's avatar
      Issue #20311: asyncio: Add a granularity attribute to BaseEventLoop: maximum · f67255ab
      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.
      f67255ab
  32. 27 Kas, 2013 1 kayıt (commit)