diff options
Diffstat (limited to 'editors/emacs22/files/patch-src:process.c')
-rw-r--r-- | editors/emacs22/files/patch-src:process.c | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/editors/emacs22/files/patch-src:process.c b/editors/emacs22/files/patch-src:process.c deleted file mode 100644 index d55970c9bd02..000000000000 --- a/editors/emacs22/files/patch-src:process.c +++ /dev/null @@ -1,91 +0,0 @@ ---- src/process.c.orig Mon Mar 17 07:06:56 2003 -+++ src/process.c Tue Aug 12 01:17:12 2003 -@@ -1850,6 +1850,7 @@ - for (lres = res; lres; lres = lres->ai_next) - { - s = socket (lres->ai_family, lres->ai_socktype, lres->ai_protocol); -+ - if (s < 0) - { - xerrno = errno; -@@ -1882,19 +1883,43 @@ - It'd be nice to be able to control the connect timeout - though. Would non-blocking connect calls be portable? */ - turn_on_atimers (0); -+ - ret = connect (s, lres->ai_addr, lres->ai_addrlen); - xerrno = errno; - turn_on_atimers (1); - -- if (ret == 0 || xerrno == EISCONN) -+ if (ret == 0 || xerrno == EISCONN ) - /* The unwind-protect will be discarded afterwards. - Likewise for immediate_quit. */ - break; - - immediate_quit = 0; - -- if (xerrno == EINTR) -- goto loop; -+#if 1 -+ if ( (errno == EINTR ) || (errno == EINPROGRESS)){ -+ fd_set fds; -+ int e; -+ struct timeval tv; -+ tv.tv_sec =60; -+ tv.tv_usec = 0; -+ FD_ZERO(&fds); -+ FD_SET(s, &fds); -+ resel: -+ e = select(s+1, NULL, &fds, NULL, &tv); -+ -+ if( e == -1){ -+ if(errno == EINTR) -+ goto resel; -+ else -+ xerrno = ETIMEDOUT; -+ } -+ else { -+ xerrno = 0; -+ break; -+ } -+ } -+#endif -+ - if (xerrno == EADDRINUSE && retry < 20) - { - /* A delay here is needed on some FreeBSD systems, -@@ -2000,11 +2025,30 @@ - && errno != EISCONN) - { - int xerrno = errno; -- -+ - immediate_quit = 0; - -- if (errno == EINTR) -- goto loop; -+#if 1 -+ if ( (errno == EINTR ) || (errno == EINPROGRESS)){ -+ fd_set fds; -+ int e; -+ struct timeval tv; -+ tv.tv_sec =60; -+ tv_tv_usec = 0; -+ FD_CLEAR(&fds); -+ FD_SET(s, &fds); -+ resel: -+ e = select(s+1, NULL, fds, NULL, &tv); -+ if( e != 0){ -+ if(errno == EINTR) -+ goto resel; -+ else -+ xerrno = ETIMEDOUT; -+ } -+ else -+ xerrno = 0; -+ } -+#endif - if (errno == EADDRINUSE && retry < 20) - { - /* A delay here is needed on some FreeBSD systems, |