From: Victor Stinner Date: Tue, 29 Jul 2014 10:58:59 +0000 (+0200) Subject: (Merge 3.4) asyncio: sync with Tulip X-Git-Tag: v3.5.0a1~1167 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=00b39ffbd31da013171cb72b87b51c8efe839ed4;p=thirdparty%2FPython%2Fcpython.git (Merge 3.4) 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 --- 00b39ffbd31da013171cb72b87b51c8efe839ed4