> Date: Fri, 15 Apr 2011 08:31:43 -0400 > From: David Boyce <david.s.bo...@gmail.com> > Cc: psm...@gnu.org, bug-make@gnu.org > > and I've attached output logs "without.txt" and "with.txt", both using > -j for unlimited jobs. You'll notice that in without.txt the output of > recipes is separated; all the BEGINNING lines show up as soon as the > job is forked, and all the ENDING lines show up as it finishes. In the > "with" case, the BEGINNING lines are effectively held and released in > sync with their matching ENDING lines. > > The main problem being solved here is that error and warning messages > often get separated from their recipes in build logs. It's hard to > debug "foo: permission denied" when you can't figure out which recipe > generated that message. > > Does that help?
Thanks. So effectively, whenever a job finishes, its parent Make takes the semaphore, outputs all of the output of that job to the screen, then releases the semaphore, is that right? And how do you communicate the name of the semaphore file to sub-Make's? Is that by assuming that its file descriptor is inherited? I also don't understand the need in the MAKESYNCFILE variable: why is it important where the semaphore file will live and how will it be named? Finally, wouldn't it be a potential problem top inherit so many handles to subordinate processes (2 for each running job)? We could run out of available handles in deeply recursive jobs, couldn't we? _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make