mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #23618: socket.socket.connect() now waits until the connection completes
instead of raising InterruptedError if the connection is interrupted by signals, signal handlers don't raise an exception and the socket is blocking or has a timeout. socket.socket.connect() still raise InterruptedError for non-blocking sockets.
This commit is contained in:
parent
708d9ba5a2
commit
81c41dbfcc
4 changed files with 198 additions and 124 deletions
|
@ -830,6 +830,19 @@ to sockets.
|
|||
Connect to a remote socket at *address*. (The format of *address* depends on the
|
||||
address family --- see above.)
|
||||
|
||||
If the connection is interrupted by a signal, the method waits until the
|
||||
connection completes, or raise a :exc:`socket.timeout` on timeout, if the
|
||||
signal handler doesn't raise an exception and the socket is blocking or has
|
||||
a timeout. For non-blocking sockets, the method raises an
|
||||
:exc:`InterruptedError` exception if the connection is interrupted by a
|
||||
signal (or the exception raised by the signal handler).
|
||||
|
||||
.. versionchanged:: 3.5
|
||||
The method now waits until the connection completes instead of raising an
|
||||
:exc:`InterruptedError` exception if the connection is interrupted by a
|
||||
signal, the signal handler doesn't raise an exception and the socket is
|
||||
blocking or has a timeout (see the :pep:`475` for the rationale).
|
||||
|
||||
|
||||
.. method:: socket.connect_ex(address)
|
||||
|
||||
|
|
|
@ -643,6 +643,7 @@ Changes in the Python API
|
|||
- :func:`socket.socket` methods:
|
||||
|
||||
* :meth:`~socket.socket.accept`
|
||||
* :meth:`~socket.socket.connect` (except for non-blocking sockets)
|
||||
* :meth:`~socket.socket.recv`
|
||||
* :meth:`~socket.socket.recvfrom`
|
||||
* :meth:`~socket.socket.recvmsg`
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue