make - Do not try to track stopped/continued processes
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 14 Dec 2011 03:40:06 +0000 (19:40 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 14 Dec 2011 03:40:06 +0000 (19:40 -0800)
* There are bugs in make which I haven't tracked down related to the
  handling of stopped/continued processes.

* Work around the problem by removing the use of WUNTRACED in one of the
  several waitpid() use cases.  It is unclear why one would ever want to
  try to track signals to processes for this case.

* This fixes a "couldn't resume %s" error from make when a large -j N
  build is repeatedly ^Z'd and continued.

usr.bin/make/job.c

index f7c23ce..ec69701 100644 (file)
@@ -2251,8 +2251,7 @@ Job_CatchChildren(bool block)
        }
 
        for (;;) {
-               pid = waitpid((pid_t)-1, &status,
-                   (block ? 0 : WNOHANG) | WUNTRACED);
+               pid = waitpid((pid_t)-1, &status, (block ? 0 : WNOHANG));
                if (pid <= 0)
                        break;