]> git.eshelyaron.com Git - emacs.git/commitdiff
(wait_for_termination) [POSIX_SIGNALS]: Terminate
authorGerd Moellmann <gerd@gnu.org>
Fri, 21 Sep 2001 14:09:22 +0000 (14:09 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 21 Sep 2001 14:09:22 +0000 (14:09 +0000)
only if kill returns -1, and errno is ESRCH.

src/ChangeLog
src/sysdep.c

index 29375b80679be462e7dc519465bf7ac54840d2c8..7aae3f9aba3bcb2fc38e69c778b3212eb08ed77c 100644 (file)
@@ -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.
index 2a0f5df4d90a9405248f88bc9b259e97a7d49eb3..5f528f0f51c2b8ce37518cb31411c869f3b60b12 100644 (file)
@@ -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;