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 Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make