[issue23853] PEP 475: handle EINTR in the ssl module

2015-04-06 Thread Roundup Robot
Roundup Robot added the comment: New changeset cdc83da0b0f8 by Victor Stinner in branch 'default': Issue #23853: socket.socket.sendall() does no more reset the socket timeout https://hg.python.org/cpython/rev/cdc83da0b0f8 New changeset 5983f3fdacdb by Victor Stinner in branch 'default': Issue

[issue23853] PEP 475: handle EINTR in the ssl module

2015-04-06 Thread STINNER Victor
Changes by STINNER Victor victor.stin...@gmail.com: -- resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23853 ___

[issue23853] PEP 475: handle EINTR in the ssl module

2015-04-03 Thread Roundup Robot
Roundup Robot added the comment: New changeset 753233baf27e by Victor Stinner in branch 'default': Issue #23853: Cleanup _ssl.c https://hg.python.org/cpython/rev/753233baf27e -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org

[issue23853] PEP 475: handle EINTR in the ssl module

2015-04-03 Thread STINNER Victor
STINNER Victor added the comment: Here is a patch to fix the issue: recompute the timeout. It's unclear to me if we should reset the timeout after each successful read/write, or if the timeout is global (total duration of the ssl method). I asked the question on the python-dev mailing list.

[issue23853] PEP 475: handle EINTR in the ssl module

2015-04-02 Thread STINNER Victor
New submission from STINNER Victor: The _ssl module uses an helper function check_socket_and_wait_for_timeout() to poll until the socket is ready (got data or became writable). check_socket_and_wait_for_timeout() always uses the socket timeout. If select() or poll() is interrupted by a signal

[issue23853] PEP 475: handle EINTR in the ssl module

2015-04-02 Thread STINNER Victor
STINNER Victor added the comment: test_ssl_bug.patch: Modify test_handshake_timeout() of test_ssl to show the bug: test_handshake_timeout() hangs with the patch (which sends a signal every millisecond). -- keywords: +patch Added file: