- 21 Jan, 2015 6 commits
-
-
Victor Stinner authored
-
Victor Stinner authored
This change fixes a race conditon related to _WaitHandleFuture.cancel() leading to Python crash or "GetQueuedCompletionStatus() returned an unexpected event" logs. Before, the overlapped object was destroyed too early, it was possible that the wait completed whereas the overlapped object was already destroyed. Sometimes, a different overlapped was allocated at the same address, leading to unexpected completition. _WaitHandleFuture.cancel() now waits until the wait is cancelled to clear its reference to the overlapped object. To wait until the cancellation is done, UnregisterWaitEx() is used with an event instead of UnregisterWait(). To wait for this event, a new _WaitCancelFuture class was added. It's a simplified version of _WaitCancelFuture. For example, its cancel() method calls UnregisterWait(), not UnregisterWaitEx(). _WaitCancelFuture should not be cancelled. The overlapped object is kept alive in _WaitHandleFuture until the wait is unregistered. Other changes: * Add _overlapped.UnregisterWaitEx() * Remove fast-path in IocpProactor.wait_for_handle() to immediatly set the result if the wait already completed. I'm not sure that it's safe to call immediatly UnregisterWaitEx() before the completion was signaled. * Add IocpProactor._unregistered() to forget an overlapped which may never be signaled, but may be signaled for the next loop iteration. It avoids to block forever IocpProactor.close() if a wait was cancelled, and it may also avoid some "... unexpected event ..." warnings.
-
Victor Stinner authored
tests: Remove unused function; inline another function
-
Victor Stinner authored
* Handle correctly CancelledError: just exit * On error, log the exception and exit Don't try to close the event loop, it is probably running and so it cannot be closed.
-
Gregory P. Smith authored
Python subprocess failure assertion error messages for easier debugging. Adds a unittest for test.script_helper to confirm that this code works as it is otherwise uncovered by an already passing test suite that uses it. :)
-
Gregory P. Smith authored
Python subprocess failure assertion error messages for easier debugging. Adds a unittest for test.script_helper to confirm that this code works as it is otherwise uncovered by an already passing test suite that uses it. :)
-
- 20 Jan, 2015 6 commits
-
-
Zachary Ware authored
-
Zachary Ware authored
-
Berker Peksag authored
Noticed by Martin Panter.
-
Berker Peksag authored
Patch by Mike Short.
-
Berker Peksag authored
Patch by Mike Short.
-
Berker Peksag authored
This commit also removes a couple of non-standard status codes. They were added as part of edf669b13482, so there is no backwards compatibility issue. Patch by Demian Brecht.
-
- 19 Jan, 2015 3 commits
-
-
Raymond Hettinger authored
-
Raymond Hettinger authored
-
Raymond Hettinger authored
Elsewhere in the setobject.c code we do a bitwise-and with the mask instead of using a conditional to reset to zero on wrap-around. Using that same technique here use gives cleaner, faster, and more consistent code.
-
- 18 Jan, 2015 17 commits
-
-
Serhiy Storchaka authored
duplicated addresses and simplify the code.
-
Raymond Hettinger authored
Issue 23261: Clean-up the hack to store the set.pop() search finger in a hash field instead of the setobject.
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
portable representation.
-
Antoine Pitrou authored
-
Antoine Pitrou authored
-
Antoine Pitrou authored
Issue #23266: Much faster implementation of ipaddress.collapse_addresses() when there are many non-consecutive addresses.
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Ned Deily authored
-
Ned Deily authored
Patch by Al Sweigart.
-
Ned Deily authored
-
Ned Deily authored
-
Ned Deily authored
-
Ned Deily authored
getaddrinfo("localhost") can fail depending on the name server configuration, use "127.0.0.0" instead.
-
- 17 Jan, 2015 7 commits
-
-
Steve Dower authored
-
Antoine Pitrou authored
Issue #21817: When an exception is raised in a task submitted to a ProcessPoolExecutor, the remote traceback is now displayed in the parent process. Patch by Claudiu Popa.
-
Antoine Pitrou authored
Patch by Nikolaus Rath and Martin Panter.
-
Zachary Ware authored
-
Zachary Ware authored
Only happened with oddly capitalized debug executables on Windows. Patch by Claudiu Popa.
-
Benjamin Peterson authored
-
Benjamin Peterson authored
Patch by Jon Dufresne.
-
- 15 Jan, 2015 1 commit
-
-
Victor Stinner authored
-