diff options
| author | Gerd Moellmann | 2001-09-21 14:09:22 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-09-21 14:09:22 +0000 |
| commit | 59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb (patch) | |
| tree | 94712ab3da39ed67a9cd604daf75d687c976befe /src/sysdep.c | |
| parent | 6add099cf46826225bf2b45d83fb5b502b604a09 (diff) | |
| download | emacs-59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb.tar.gz emacs-59957f85f46ca1b35a88ca4e8b4c5fe6e0c3d0eb.zip | |
(wait_for_termination) [POSIX_SIGNALS]: Terminate
only if kill returns -1, and errno is ESRCH.
Diffstat (limited to 'src/sysdep.c')
| -rw-r--r-- | src/sysdep.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |