[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/process.c
From: |
Kim F . Storm |
Subject: |
[Emacs-diffs] Changes to emacs/src/process.c |
Date: |
Tue, 09 Nov 2004 04:46:45 -0500 |
Index: emacs/src/process.c
diff -c emacs/src/process.c:1.443 emacs/src/process.c:1.444
*** emacs/src/process.c:1.443 Mon Nov 1 11:04:11 2004
--- emacs/src/process.c Tue Nov 9 09:40:37 2004
***************
*** 3023,3028 ****
--- 3023,3030 ----
{
int optn, optbits;
+ retry_connect:
+
s = socket (lres->ai_family, lres->ai_socktype, lres->ai_protocol);
if (s < 0)
{
***************
*** 3101,3108 ****
break;
}
- retry_connect:
-
immediate_quit = 1;
QUIT;
--- 3103,3108 ----
***************
*** 3144,3165 ****
immediate_quit = 0;
- if (xerrno == EINTR)
- goto retry_connect;
- if (xerrno == EADDRINUSE && retry < 20)
- {
- /* A delay here is needed on some FreeBSD systems,
- and it is harmless, since this retrying takes time anyway
- and should be infrequent. */
- Fsleep_for (make_number (1), Qnil);
- retry++;
- goto retry_connect;
- }
-
/* Discard the unwind protect closing S. */
specpdl_ptr = specpdl + count1;
emacs_close (s);
s = -1;
}
if (s >= 0)
--- 3144,3156 ----
immediate_quit = 0;
/* Discard the unwind protect closing S. */
specpdl_ptr = specpdl + count1;
emacs_close (s);
s = -1;
+
+ if (xerrno == EINTR)
+ goto retry_connect;
}
if (s >= 0)