- 17 Jul, 2014 10 commits
-
-
Victor Stinner authored
Since Python 3.3, the C signal handler writes the signal number into the wakeup file descriptor and then schedules the Python call using Py_AddPendingCall(). asyncio uses the wakeup file descriptor to wake up the event loop, and relies on Py_AddPendingCall() to schedule the final callback with call_soon(). If the C signal handler is called in a thread different than the thread of the event loop, the loop is awaken but Py_AddPendingCall() was not called yet. In this case, the event loop has nothing to do and go to sleep again. Py_AddPendingCall() is called while the event loop is sleeping again and so the final callback is not scheduled immediatly. This patch changes how asyncio handles signals. Instead of relying on Py_AddPendingCall() and the wakeup file descriptor, asyncio now only relies on the wakeup file descriptor. asyncio reads signal numbers from the wakeup file descriptor to call its signal handler.
-
Victor Stinner authored
Since Python 3.3, the C signal handler writes the signal number into the wakeup file descriptor and then schedules the Python call using Py_AddPendingCall(). asyncio uses the wakeup file descriptor to wake up the event loop, and relies on Py_AddPendingCall() to schedule the final callback with call_soon(). If the C signal handler is called in a thread different than the thread of the event loop, the loop is awaken but Py_AddPendingCall() was not called yet. In this case, the event loop has nothing to do and go to sleep again. Py_AddPendingCall() is called while the event loop is sleeping again and so the final callback is not scheduled immediatly. This patch changes how asyncio handles signals. Instead of relying on Py_AddPendingCall() and the wakeup file descriptor, asyncio now only relies on the wakeup file descriptor. asyncio reads signal numbers from the wakeup file descriptor to call its signal handler.
-
Victor Stinner authored
ConnectionResetError
-
Victor Stinner authored
ConnectionResetError
-
Victor Stinner authored
ConnectionResetError too
-
Victor Stinner authored
ConnectionResetError too
-
Victor Stinner authored
BrokenPipeError If you want to handle the BrokenPipeError, you can easily reimplement communicate(). Add also a unit test to ensure that stdin.write() + stdin.drain() raises BrokenPipeError.
-
Victor Stinner authored
If you want to handle the BrokenPipeError, you can easily reimplement communicate(). Add also a unit test to ensure that stdin.write() + stdin.drain() raises BrokenPipeError.
-
Berker Peksag authored
-
Berker Peksag authored
-
- 16 Jul, 2014 20 commits
-
-
Serhiy Storchaka authored
attribute. Based on patch by Martin Panter.
-
Serhiy Storchaka authored
attribute. Based on patch by Martin Panter.
-
Zachary Ware authored
-
Zachary Ware authored
-
Zachary Ware authored
Merge with 3.4.
-
Zachary Ware authored
-
Zachary Ware authored
-
Zachary Ware authored
pydoc.gui was removed over 3 years ago (#10818), this script has been utterly bereft of worth since then.
-
Victor Stinner authored
-
Victor Stinner authored
-
Victor Stinner authored
-
Victor Stinner authored
-
Victor Stinner authored
private tasks in gather().
-
Victor Stinner authored
in gather().
-
Victor Stinner authored
_on_handshake() method The _SelectorSslTransport constructor already calls it.
-
Victor Stinner authored
The _SelectorSslTransport constructor already calls it.
-
Tal Einat authored
-
Tal Einat authored
-
Tal Einat authored
-
Victor Stinner authored
-
- 15 Jul, 2014 4 commits
-
-
Guido van Rossum authored
-
Serhiy Storchaka authored
-
Terry Jan Reedy authored
-
Terry Jan Reedy authored
Fix regression that this test would have caught.
-
- 14 Jul, 2014 6 commits
-
-
Victor Stinner authored
-
Victor Stinner authored
in debug mode
-
Victor Stinner authored
sys.stderr, to get output even if tests are run with the -j command line option.
-
Victor Stinner authored
-
Victor Stinner authored
-
Victor Stinner authored
* Tulip issue #184: Log subprocess events in debug mode - Log stdin, stdout and stderr transports and protocols - Log process identifier (pid) - Log connection of pipes - Log process exit - Log Process.communicate() tasks: feed stdin, read stdout and stderr - Add __repr__() method to many classes related to subprocesses * Add BaseSubprocessTransport._pid attribute. Store the pid so it is still accessible after the process exited. It's more convinient for debug. * create_connection(): add the socket in the "connected to" debug log * Clean up some docstrings and comments. Remove unused unimplemented _read_from_self().
-