aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann2001-09-21 14:09:22 +0000
committerGerd Moellmann2001-09-21 14:09:22 +0000
commit59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb (patch)
tree94712ab3da39ed67a9cd604daf75d687c976befe
parent6add099cf46826225bf2b45d83fb5b502b604a09 (diff)
downloademacs-59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb.tar.gz
emacs-59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb.zip
(wait_for_termination) [POSIX_SIGNALS]: Terminate
only if kill returns -1, and errno is ESRCH.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/sysdep.c3
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 @@
12001-09-21 Gerd Moellmann <gerd@gnu.org>
2
3 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]: Terminate
4 only if kill returns -1, and errno is ESRCH.
5
12001-09-21 Markus Rost <rost@math.ohio-state.edu> 62001-09-21 Markus Rost <rost@math.ohio-state.edu>
2 7
3 * Makefile.in (shortlisp): Add ../lisp/env.elc. 8 * 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)
480#else /* neither BSD_SYSTEM nor UNIPLUS: random sysV */ 480#else /* neither BSD_SYSTEM nor UNIPLUS: random sysV */
481#ifdef POSIX_SIGNALS /* would this work for LINUX as well? */ 481#ifdef POSIX_SIGNALS /* would this work for LINUX as well? */
482 sigblock (sigmask (SIGCHLD)); 482 sigblock (sigmask (SIGCHLD));
483 if (0 > kill (pid, 0)) 483 errno = 0;
484 if (kill (pid, 0) == -1 && errno == ESRCH)
484 { 485 {
485 sigunblock (sigmask (SIGCHLD)); 486 sigunblock (sigmask (SIGCHLD));
486 break; 487 break;