]> granicus.if.org Git - python/commit
asyncio: sync with Tulip
authorVictor Stinner <victor.stinner@gmail.com>
Tue, 29 Jul 2014 10:58:23 +0000 (12:58 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Tue, 29 Jul 2014 10:58:23 +0000 (12:58 +0200)
commit313a9809043ed2ed1ad25282af7169e08cdc92a3
tree99a23db8538b3dcafb55fb1b83c838a992c969fb
parent7eca7343a0a01ead026589d4e3828bbdee9d08a0
asyncio: sync with Tulip

* _WaitHandleFuture.cancel() now notify IocpProactor through the overlapped
  object that the wait was cancelled.
* Optimize IocpProactor.wait_for_handle() gets the result if the wait is
  signaled immediatly.
* Enhance representation of Future and Future subclasses

  - Add "created at filename:lineno" in the representation
  - Add Future._repr_info() method which can be more easily overriden than
    Future.__repr__(). It should now be more easy to enhance Future
    representation without having to modify each subclass. For example,
    _OverlappedFuture and _WaitHandleFuture get the new "created at" information.
  - Use reprlib to format Future result, and function arguments when formatting a
    callback, to limit the length of the representation.

* Fix repr(_WaitHandleFuture)
* _WaitHandleFuture and _OverlappedFuture: hide frames of internal calls in the
  source traceback.
* Cleanup ProactorIocp._poll(): set the timeout to 0 after the first call to
  GetQueuedCompletionStatus()
* test_locks: close the temporary event loop and check the condition lock
* Remove workaround in test_futures, no more needed
Lib/asyncio/events.py
Lib/asyncio/futures.py
Lib/asyncio/tasks.py
Lib/asyncio/windows_events.py
Lib/test/test_asyncio/test_futures.py
Lib/test/test_asyncio/test_locks.py
Lib/test/test_asyncio/test_tasks.py