Ken Takusagawa wrote:
For reasons I haven't completely triaged yet, I've been having my parallel makes die with "read jobs pipe: Resource temporarily unavailable. Stop."
All memory on machine might be used up (real memory + all swap). e.g. we get this: virtual memory exhausted: Resource temporarily unavailable We have some particularily heavy files at compile time and if machines are busy (memory-wise) or if they are low in memory anyway they frequently hit that error and the build fails. Depending on the machine and build this can happen even if not using any parallelism.
I hacked the function new_job in job.c such that if errno==EAGAIN, then we sleep(1) and loop again, and my problem went away. (Essentially adding EAGAIN to EBADF and EINTR as the ignored signals.)
:) cool! That seems like a good idea. Rather than scripting to test for successful build and retrying a few times maybe make could do the retry. James. _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make