diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-09-21 14:09:22 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-09-21 14:09:22 +0000 |
commit | 59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb (patch) | |
tree | 94712ab3da39ed67a9cd604daf75d687c976befe | |
parent | 6add099cf46826225bf2b45d83fb5b502b604a09 (diff) | |
download | emacs-59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb.tar.gz |
(wait_for_termination) [POSIX_SIGNALS]: Terminate
only if kill returns -1, and errno is ESRCH.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/sysdep.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 29375b80679..7aae3f9aba3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2001-09-21 Gerd Moellmann <gerd@gnu.org> + + * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: Terminate + only if kill returns -1, and errno is ESRCH. + 2001-09-21 Markus Rost <rost@math.ohio-state.edu> * Makefile.in (shortlisp): Add ../lisp/env.elc. diff --git a/src/sysdep.c b/src/sysdep.c index 2a0f5df4d90..5f528f0f51c 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -480,7 +480,8 @@ wait_for_termination (pid) #else /* neither BSD_SYSTEM nor UNIPLUS: random sysV */ #ifdef POSIX_SIGNALS /* would this work for LINUX as well? */ sigblock (sigmask (SIGCHLD)); - if (0 > kill (pid, 0)) + errno = 0; + if (kill (pid, 0) == -1 && errno == ESRCH) { sigunblock (sigmask (SIGCHLD)); break; |