[distcc] Re: distcc solaris problem

Martin Pool mbp at samba.org
Mon Sep 30 04:33:00 GMT 2002

On 24 Sep 2002, "Lavelle, Neil" <nlavelle at orchestream.com> wrote:

>    Any idea what might be happening ? .. I'm going to have a look into it in
>    more detail but I figured you'd know the code and how it's supposed to
>    behave a whole lot better !

Hi, Neil,

Kevin Bailey pointed out that it is because of a difference in the
wait4() interface between Solaris and Linux/BSD.  If you apply the
attached patch it should be OK.  (This will be fixed in 0.12.)  If
not, please let me know -- and thanks for including a trace, that
helps a lot.


--- serve.c.~1.65.~	2002-09-19 14:31:18.000000000 +1000
+++ serve.c	2002-09-30 14:16:48.000000000 +1000
@@ -446,7 +446,7 @@ int dcc_accept_job(int fd)
     /* FIXME: wait4() on Solaris can't take pid=-1; we possibly need
      * to use pid=0, but that will only catch things in the current
      * process group.  (Shrug, it's a doomed platform anyhow.) */
-    wait_ret = dcc_collect_child(-1, &status, &u_us, &s_us);
+    wait_ret = dcc_collect_child(0, &status, &u_us, &s_us);
     if (wait_ret) {
         rs_log_error("wait failed; forcing failure status");
         status = EXIT_DISTCC_FAILED << 8;         /* random failure */

More information about the distcc mailing list