Re: [TEST] make -j patch [take 2]

From: Matthew Dillon <dillon_at_apollo.backplane.com>
Date: Fri, 12 Nov 2004 12:46:32 -0800 (PST)
    I'm probably crazy to jump into this but... guys, I have to say that
    this sounds like a great feature (and keep in mind that Poul and I tend
    not to get along very well).   It would really be silly to rip it out
    because two people can't agree on a simple override mechanism to make
    'make universe' operate in a more parallel manner.

    I suggest simply treating an empty MAKE_JOBS_FIFO env variable the same
    as a non-existant one, or perhaps also allowing for a keyword to make
    things more obvious, So:

Index: job.c
===================================================================
RCS file: /FreeBSD/FreeBSD-CVS/src/usr.bin/make/job.c,v
retrieving revision 1.57
diff -u -r1.57 job.c
--- job.c	12 Nov 2004 08:58:06 -0000	1.57
+++ job.c	12 Nov 2004 20:43:07 -0000
_at__at_ -2120,7 +2120,7 _at__at_
     stoppedJobs = Lst_Init(FALSE);
     env = getenv("MAKE_JOBS_FIFO");
 
-    if (env == NULL && maxproc > 1) {
+    if ((env == NULL || *env == 0 || strcmp(env, "restart") == 0) && maxproc > 1) {
 	/*
 	 * We did not find the environment variable so we are the leader.
 	 * Create the fifo, open it, write one char per allowed job into


    And then compromise on the make universe target by running the 
    sub-make buildworlds with an empty MAKE_JOBS_FIFO.  e.g
    MAKE_JOBS_FIFO=restart ${MAKE} ...  in just one place in the Makefile.
    Seems reasonable to me!

    With such an obvious solution available this argument really shouldn't
    have happened.

					-Matt
					Matthew Dillon 
					<dillon_at_backplane.com>
Received on Fri Nov 12 2004 - 19:46:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:22 UTC