From: Victor Stinner Date: Wed, 1 Apr 2015 09:09:43 +0000 (+0200) Subject: Issue #23618: Fix EINTR handling on Windows X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a7726624239367a72f5117700e675d5915a40714;p=python Issue #23618: Fix EINTR handling on Windows Windows uses WSAEINTR error code, not EINTR, for socket functions. --- diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index fd73e08fc9..fcb1ff4f01 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -2476,7 +2476,7 @@ internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen, } err = GET_ERROR; - if (err == EINTR && PyErr_CheckSignals()) + if (CHECK_ERRNO(EINTR) && PyErr_CheckSignals()) return -1; wait_connect = (s->sock_timeout > 0 && err == IN_PROGRESS_ERR @@ -2488,7 +2488,7 @@ internal_connect(PySocketSockObject *s, struct sockaddr *addr, int addrlen, if (timeout == -1) { /* select() failed */ err = GET_ERROR; - if (err == EINTR && PyErr_CheckSignals()) + if (CHECK_ERRNO(EINTR) && PyErr_CheckSignals()) return -1; return err; }