Mercurial > hg > xemacs-beta
diff src/process-unix.c @ 458:c33ae14dd6d0 r21-2-44
Import from CVS: tag r21-2-44
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:42:25 +0200 |
parents | 576fb035e263 |
children | 0784d089fdc9 |
line wrap: on
line diff
--- a/src/process-unix.c Mon Aug 13 11:41:26 2007 +0200 +++ b/src/process-unix.c Mon Aug 13 11:42:25 2007 +0200 @@ -1541,8 +1541,17 @@ /* Finally send the signal. */ if (EMACS_KILLPG (pgid, signo) == -1) - error ("kill (%ld, %ld) failed: %s", - (long) pgid, (long) signo, strerror (errno)); + { + /* It's not an error if our victim is already dead. + And we can't rely on the result of killing a zombie, since + XPG 4.2 requires that killing a zombie fail with ESRCH, + while FIPS 151-2 requires that it succeeds! */ +#ifdef ESRCH + if (errno != ESRCH) +#endif + error ("kill (%ld, %ld) failed: %s", + (long) pgid, (long) signo, strerror (errno)); + } } /* Send signal SIGCODE to any process in the system given its PID.