Follow-up Comment #1, bug #46261 (project make):

The change...

diff -uNr make-4.1.orig/main.c make-4.1/main.c
--- make-4.1.orig/main.c        2014-10-05 12:24:51.000000000 -0400
+++ make-4.1/main.c     2015-10-20 22:08:00.000000000 -0400
@@ -3364,9 +3364,12 @@
 #else
       /* Close the write side, so the read() won't hang.  */
       close (job_fds[1]);
-
-      while (read (job_fds[0], &token, 1) == 1)
+      int r;
+      EINTRLOOP (r, read (job_fds[0], &token, 1));
+      while (r == 1) {
         ++tcnt;
+       EINTRLOOP (r, read (job_fds[0], &token, 1));
+      }
 #endif
 
       if (tcnt != master_job_slots)

seems to eliminate the failures here on OS X 10.12.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?46261>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to