Mercurial > hg > xemacs-beta
diff src/process-unix.c @ 859:84762348c6f9
[xemacs-hg @ 2002-06-01 08:06:46 by ben]
fix process problems etc.
process.el: Insert before, not after, point.
buffer.c: Fix bug noted by someone.
console-tty.h, device.h, emacs.c, filelock.c, nt.c, process-nt.c, process-unix.c, process.c, redisplay-tty.c, sysdep.c, sysproc.h, win32.c: Redo problem with syssignal.h/sysproc.h dependence noted by Didier
-- rather than require one included before the other
(error-prone), just include syssignal.h from sysproc.h
where it's needed.
inline.c: Include sysfile.h due to inline funs in that header.
extents.c: Fix bug noted by Andrew Cohen <cohen@andy.bu.edu>.
process-unix.c: Fix other bug noted by Andrew Cohen <cohen@andy.bu.edu>.
process.c: Add process-has-separate-stderr-p, used by call-process-internal.
author | ben |
---|---|
date | Sat, 01 Jun 2002 08:06:55 +0000 |
parents | 211050afdc9a |
children | 804517e16990 |
line wrap: on
line diff
--- a/src/process-unix.c Fri May 31 09:38:49 2002 +0000 +++ b/src/process-unix.c Sat Jun 01 08:06:55 2002 +0000 @@ -53,9 +53,8 @@ #include <setjmp.h> #include "sysdir.h" #include "sysfile.h" -#include "syssignal.h" /* Always include before systty.h and sysproc.h - -- didier*/ #include "sysproc.h" +#include "syssignal.h" #include "systime.h" #include "systty.h" #include "syswait.h" @@ -2034,7 +2033,8 @@ if (retval == -1 && errno != EISCONN) { xerrno = errno; - if (errno == EINTR) + + if (errno == EINTR || errno == EINPROGRESS || errno == EALREADY) goto loop; if (errno == EADDRINUSE && retry < 20) { @@ -2262,10 +2262,11 @@ { int xerrno = errno; - if (errno == EINTR) + if (errno == EINTR || errno == EINPROGRESS || errno == EALREADY) goto loop; if (errno == EADDRINUSE && retry < 20) { +#ifdef __FreeBSD__ /* A delay here is needed on some FreeBSD systems, and it is harmless, since this retrying takes time anyway and should be infrequent. @@ -2273,6 +2274,7 @@ slowed down so it can't be used here. Async timers should already be disabled at this point so we can use `sleep'. */ sleep (1); +#endif retry++; goto loop; }