bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: patch to support output synchronization under -j


From: Eli Zaretskii
Subject: Re: patch to support output synchronization under -j
Date: Fri, 15 Apr 2011 16:48:58 +0300

> Date: Fri, 15 Apr 2011 08:31:43 -0400
> From: David Boyce <address@hidden>
> Cc: address@hidden, address@hidden
> 
> 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?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]