- 29 Jan, 2015 11 commits
-
-
Victor Stinner authored
-
Victor Stinner authored
-
Victor Stinner authored
Issue #23347: send_signal(), kill() and terminate() methods of BaseSubprocessTransport now check if the transport was closed and if the process exited. Issue #23347: Refactor creation of subprocess transports. Changes on BaseSubprocessTransport: * Add a wait() method to wait until the child process exit * The constructor now accepts an optional waiter parameter. The _post_init() coroutine must not be called explicitly anymore. It makes subprocess transports closer to other transports, and it gives more freedom if we want later to change completly how subprocess transports are created. * close() now kills the process instead of kindly terminate it: the child process may ignore SIGTERM and continue to run. Call explicitly terminate() and wait() if you want to kindly terminate the child process. * close() now logs a warning in debug mode if the process is still running and needs to be killed * _make_subprocess_transport() is now fully asynchronous again: if the creation of the transport failed, wait asynchronously for the process eixt. Before the wait was synchronous. This change requires close() to *kill*, and not terminate, the child process. * Remove the _kill_wait() method, replaced with a more agressive close() method. It fixes _make_subprocess_transport() on error. BaseSubprocessTransport.close() calls the close() method of pipe transports, whereas _kill_wait() closed directly pipes of the subprocess.Popen object without unregistering file descriptors from the selector (which caused severe bugs). These changes simplifies the code of subprocess.py.
-
Victor Stinner authored
is not explicitly closed. Close also explicitly transports in test_sslproto.
-
Stefan Krah authored
-
Stefan Krah authored
-
Victor Stinner authored
* Cleanup gather(): use cancelled() method instead of using private Future attribute * Fix _UnixReadPipeTransport and _UnixWritePipeTransport. Only start reading when connection_made() has been called. * Issue #23333: Fix BaseSelectorEventLoop._accept_connection(). Close the transport on error. In debug mode, log errors using call_exception_handler()
-
Victor Stinner authored
-
Victor Stinner authored
* _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.
-
Victor Stinner authored
close() closes pipes, which is not None yet by _kill_wait().
-
Gregory P. Smith authored
only defining it when HAVE_MKNOD && HAVE_MAKEDEV are true. This "oops" issue reported by John E. Malmberg on core-mentorship. (what kinds of systems don't HAVE_MKNOD && HAVE_MAKEDEV?)
-
- 28 Jan, 2015 7 commits
-
-
Victor Stinner authored
Only start reading when connection_made() has been called: protocol.data_received() must not be called before protocol.connection_made().
-
Victor Stinner authored
* Rephrase also the comment explaining why the waiter is not awaken immediatly. * SSLProtocol.eof_received() doesn't instanciate ConnectionResetError exception directly, it will be done by Future.set_exception(). The exception is not used if the waiter was cancelled or if there is no waiter.
-
Victor Stinner authored
Wake-up the waiter if it is not done yet.
-
Donald Stufft authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
no dynamically allocated bases.
-
Vinay Sajip authored
-
- 27 Jan, 2015 2 commits
-
-
Victor Stinner authored
* Remove unused SSLProtocol._closing attribute * test_sslproto: skip test if ssl module is missing * Python issue #23208: Don't use the traceback of the current handle if we already know the traceback of the source. The handle may be more revelant, but having 3 tracebacks (handle, source, exception) becomes more difficult to read. The handle may be preferred later but it requires more work to make this choice.
-
Berker Peksag authored
Patch by Mayank Tripathi.
-
- 26 Jan, 2015 18 commits
-
-
Victor Stinner authored
-
Victor Stinner authored
If ReadFile() fails with ERROR_BROKEN_PIPE, the operation is not pending: don't register the overlapped. I don't know if WSARecv() can fail with ERROR_BROKEN_PIPE. Since Overlapped.WSARecv() already handled ERROR_BROKEN_PIPE, let me guess that it has the same behaviour than ReadFile().
-
Victor Stinner authored
If UnregisterWaitEx() fais with ERROR_IO_PENDING, it doesn't mean that the wait is unregistered yet. We still have to wait until the wait is cancelled.
-
Victor Stinner authored
Use a coroutine with asyncio.sleep() instead of call_later() to ensure that the schedule call is cancelled. Add also a unit test cancelling connect_pipe().
-
Victor Stinner authored
-
Victor Stinner authored
If a client connected before the server was closed: drop the client (close the pipe) and exit.
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
a function or a loop (e.g. "return" or "break").
-
Victor Stinner authored
In debug mode, BaseEventLoop._run_once() now sets the BaseEventLoop._current_handle attribute to the handle currently executed. In release mode or when no handle is executed, the attribute is None. BaseEventLoop.default_exception_handler() displays the traceback of the current handle if available.
-
Victor Stinner authored
The special case for connect_pipe() is not more needed. connect_pipe() doesn't use overlapped operations anymore.
-
Victor Stinner authored
Fix create_datagram_endpoint(), connect_read_pipe() and connect_write_pipe(): close the transport if the task is cancelled or on error.
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
directory containing a backslash.
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
returned NotImplemented. Removed incorrect implementations of __ne__().
-
Benjamin Peterson authored
Patch by Cory Benfield.
-
- 25 Jan, 2015 2 commits
-
-
Serhiy Storchaka authored
replacment string longer than mailformed input data.
-
R David Murray authored
-