(If possible, please preserve the 611591-forwarded address in any replies.)

It looks like there may be a problem with wait_for_termination() on
GNU/Hurd systems.

Samuel Thibault <sthiba...@debian.org> writes:

> emacs23 would sometimes hang while waiting for a child. This is because
> wait_for_termination assumes that on all BSD-like systems kill() returns
> -1 on zombies. It happens that GNU/Hurd is a BSD-like system, but its
> kill() returns 0 on zombies.
>
> The attached patch fixes that.

--- a/src/sysdep.c	2011-01-31 01:10:24.000000000 +0100
+++ b/src/sysdep.c	2011-01-31 01:10:47.000000000 +0100
@@ -411,7 +411,7 @@
   while (1)
     {
 #ifdef subprocesses
-#if defined (BSD_SYSTEM) || defined (HPUX)
+#if (defined (BSD_SYSTEM) || defined (HPUX)) && !defined(__GNU__)
       /* Note that kill returns -1 even if the process is just a zombie now.
 	 But inevitably a SIGCHLD interrupt should be generated
 	 and child_sig will do wait3 and make the process go away. */
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4

Reply via email to