changeset: 95376:f22188acc77d user: Victor Stinner date: Thu Apr 02 11:49:42 2015 +0200 files: Doc/library/functions.rst Doc/library/os.rst Doc/library/socket.rst Doc/whatsnew/3.5.rst description: Issue #23618: Document EINTR changes in socket documentation diff -r aad52bfc816f -r f22188acc77d Doc/library/functions.rst --- a/Doc/library/functions.rst Thu Apr 02 12:28:07 2015 +0200 +++ b/Doc/library/functions.rst Thu Apr 02 11:49:42 2015 +0200 @@ -1066,7 +1066,7 @@ The ``'U'`` mode. .. versionchanged:: 3.5 - If the system call is interrupted and the signal does not raise an + If the system call is interrupted and the signal handler does not raise an exception, the function now retries the system call instead of raising an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). diff -r aad52bfc816f -r f22188acc77d Doc/library/os.rst --- a/Doc/library/os.rst Thu Apr 02 12:28:07 2015 +0200 +++ b/Doc/library/os.rst Thu Apr 02 11:49:42 2015 +0200 @@ -906,7 +906,7 @@ The *dir_fd* argument. .. versionchanged:: 3.5 - If the system call is interrupted and the signal does not raise an + If the system call is interrupted and the signal handler does not raise an exception, the function now retries the system call instead of raising an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). @@ -1088,7 +1088,7 @@ :meth:`~file.read` or :meth:`~file.readline` methods. .. versionchanged:: 3.5 - If the system call is interrupted and the signal does not raise an + If the system call is interrupted and the signal handler does not raise an exception, the function now retries the system call instead of raising an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). @@ -1208,7 +1208,7 @@ :meth:`~file.write` method. .. versionchanged:: 3.5 - If the system call is interrupted and the signal does not raise an + If the system call is interrupted and the signal handler does not raise an exception, the function now retries the system call instead of raising an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). @@ -3375,7 +3375,7 @@ functions called with :const:`P_NOWAIT` return suitable process handles. .. versionchanged:: 3.5 - If the system call is interrupted and the signal does not raise an + If the system call is interrupted and the signal handler does not raise an exception, the function now retries the system call instead of raising an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). diff -r aad52bfc816f -r f22188acc77d Doc/library/socket.rst --- a/Doc/library/socket.rst Thu Apr 02 12:28:07 2015 +0200 +++ b/Doc/library/socket.rst Thu Apr 02 11:49:42 2015 +0200 @@ -793,6 +793,11 @@ .. versionchanged:: 3.4 The socket is now non-inheritable. + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.bind(address) @@ -966,6 +971,11 @@ For best match with hardware and network realities, the value of *bufsize* should be a relatively small power of 2, for example, 4096. + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.recvfrom(bufsize[, flags]) @@ -975,6 +985,11 @@ :manpage:`recv(2)` for the meaning of the optional argument *flags*; it defaults to zero. (The format of *address* depends on the address family --- see above.) + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.recvmsg(bufsize[, ancbufsize[, flags]]) @@ -1041,6 +1056,11 @@ .. versionadded:: 3.3 + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.recvmsg_into(buffers[, ancbufsize[, flags]]) @@ -1107,6 +1127,11 @@ application needs to attempt delivery of the remaining data. For further information on this topic, consult the :ref:`socket-howto`. + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.sendall(bytes[, flags]) @@ -1117,6 +1142,11 @@ success. On error, an exception is raised, and there is no way to determine how much data, if any, was successfully sent. + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.sendto(bytes, address) socket.sendto(bytes, flags, address) @@ -1127,6 +1157,11 @@ bytes sent. (The format of *address* depends on the address family --- see above.) + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.sendmsg(buffers[, ancdata[, flags[, address]]]) @@ -1163,6 +1198,11 @@ .. versionadded:: 3.3 + .. versionchanged:: 3.5 + If the system call is interrupted and the signal handler does not raise + an exception, the method now retries the system call instead of raising + an :exc:`InterruptedError` exception (see :pep:`475` for the rationale). + .. method:: socket.sendfile(file, offset=0, count=None) Send a file until EOF is reached by using high-performance diff -r aad52bfc816f -r f22188acc77d Doc/whatsnew/3.5.rst --- a/Doc/whatsnew/3.5.rst Thu Apr 02 12:28:07 2015 +0200 +++ b/Doc/whatsnew/3.5.rst Thu Apr 02 11:49:42 2015 +0200 @@ -640,6 +640,17 @@ - :func:`os.read`, :func:`os.write` - :func:`select.select`, :func:`select.poll.poll`, :func:`select.epoll.poll`, :func:`select.kqueue.control`, :func:`select.devpoll.poll` + - :func:`socket.socket` methods: + + * :meth:`~socket.socket.accept` + * :meth:`~socket.socket.recv` + * :meth:`~socket.socket.recvfrom` + * :meth:`~socket.socket.recvmsg` + * :meth:`~socket.socket.send` + * :meth:`~socket.socket.sendall` + * :meth:`~socket.socket.sendmsg` + * :meth:`~socket.socket.sendto` + - :func:`signal.sigtimedwait`, :func:`signal.sigwaitinfo` - :func:`time.sleep`