Follow-up Comment #7, bug #22923 (project make):
Reaching back 25 years again, this is basically what Alliant Concentrix
parallel make did. It prefixed each output line with the job number |1|, |2|
and so on. (This is also why in my original proposal for make -j, I used
different numbered job tokens, so that each make invocation could output its
own unique number.) Obviously the way that was done was by using a pipe for
each spawned jobs' stdout/stderr, so that the invoking make could attach the
prefix to any output lines. Of course, in the context of the current make -j
server, this would only allow us to handle 255 concurrent jobs. After working
on a Connection Machine with 1024 nodes, it became obvious that this wasn't a
perfect solution...
As a side note - stdout is always linebuffered by default. It's stderr that
may present problems, since by default it is unbuffered.
Just using each jobs' PID as a prefix isn't quite as pleasant, you get a much
noisier output since a single job can spawn a lot of processes and thus cycle
thru many PIDs in rapid succession.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?22923>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make