Another observation that seems to point at SIGCHLD handling being the issue is the failure seen in building texinfo under fink make on 10.11....
make[5]: *** read jobs pipe: No such file or directory. Stop. make[5]: *** Waiting for unfinished jobs.... during the InfoTest. Note that in the make 4.1 sources this error is emitted in the code... #ifndef WINDOWS32 /* If the error _wasn't_ expected (EINTR or EBADF), punt. Otherwise, go back and reap_children(), and try again. */ errno = saved_errno; if (errno != EINTR && errno != EBADF) pfatal_with_name (_("read jobs pipe")); if (errno == EBADF) DB (DB_JOBS, ("Read returned EBADF.\n")); #endif in job.c. According to http://cboard.cprogramming.com/c-programming/124120-errno-%3D%3D-eintr-means-what-thank-u.html, EINTR means "This call did not succeed because it was interrupted. However, if you try again, it will probably work." Also, note the comment.... /* Read a token. As long as there's no token available we'll block. We enable interruptible system calls before the read(2) so that if we get a SIGCHLD while we're waiting, we'll return with EINTR and we can process the death(s) and return tokens to the free pool. in job.c which suggests that the emission of EINTR is tied to SIGCHLD handling. So it would appear that the SIGCHLD handling is broken when make 4.x runs under fink's usage of perl and causes the EINTR's to not be emitted.
------------------------------------------------------------------------------
_______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net List archive: http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel