diff options
Diffstat (limited to 'ext/socket/init.c')
-rw-r--r-- | ext/socket/init.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/socket/init.c b/ext/socket/init.c index 137027a531..ee88e81bae 100644 --- a/ext/socket/init.c +++ b/ext/socket/init.c @@ -383,6 +383,12 @@ rsock_connect(int fd, const struct sockaddr *sockaddr, int len, int socks) status = (int)BLOCKING_REGION_FD(func, &arg); if (status < 0) { switch (errno) { + case EINTR: +#if defined(ERESTART) + case ERESTART: +#endif + continue; + case EAGAIN: #ifdef EINPROGRESS case EINPROGRESS: |