Kaydet (Commit) a7726624 authored tarafından Victor Stinner's avatar Victor Stinner

Issue #23618: Fix EINTR handling on Windows

Windows uses WSAEINTR error code, not EINTR, for socket functions.
üst f8521d55
...@@ -2476,7 +2476,7 @@ internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen, ...@@ -2476,7 +2476,7 @@ internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen,
} }
err = GET_ERROR; err = GET_ERROR;
if (err == EINTR && PyErr_CheckSignals()) if (CHECK_ERRNO(EINTR) && PyErr_CheckSignals())
return -1; return -1;
wait_connect = (s->sock_timeout > 0 && err == IN_PROGRESS_ERR wait_connect = (s->sock_timeout > 0 && err == IN_PROGRESS_ERR
...@@ -2488,7 +2488,7 @@ internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen, ...@@ -2488,7 +2488,7 @@ internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen,
if (timeout == -1) { if (timeout == -1) {
/* select() failed */ /* select() failed */
err = GET_ERROR; err = GET_ERROR;
if (err == EINTR && PyErr_CheckSignals()) if (CHECK_ERRNO(EINTR) && PyErr_CheckSignals())
return -1; return -1;
return err; return err;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment