- 01 Feb, 2015 1 commit
-
-
Vinay Sajip authored
-
- 31 Jan, 2015 3 commits
-
-
Steve Dower authored
-
Victor Stinner authored
At entry, save or swap the exception state even if PyEval_EvalFrameEx() is called with throwflag=0. At exit, the exception state is now always restored or swapped, not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with Antoine Pitrou.
-
Serhiy Storchaka authored
Patch by Bohuslav Kabrda.
-
- 30 Jan, 2015 3 commits
-
-
R David Murray authored
-
Victor Stinner authored
-
Victor Stinner authored
transport was closed. The check broken a Tulip example and this limitation is arbitrary. Check if _proc is None should be enough. Enhance also close(): do nothing when called the second time.
-
- 29 Jan, 2015 13 commits
-
-
Victor Stinner authored
-
Victor Stinner authored
the lack of timeout parameter for locks and queues.
-
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 11 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.
-