From owner-freebsd-current@FreeBSD.ORG Fri Nov 12 20:46:36 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 71A6816A4CE; Fri, 12 Nov 2004 20:46:36 +0000 (GMT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4209A43D4C; Fri, 12 Nov 2004 20:46:36 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) iACKkWvA076323; Fri, 12 Nov 2004 12:46:33 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.9p2/8.12.9/Submit) id iACKkWXJ076322; Fri, 12 Nov 2004 12:46:32 -0800 (PST) (envelope-from dillon) Date: Fri, 12 Nov 2004 12:46:32 -0800 (PST) From: Matthew Dillon Message-Id: <200411122046.iACKkWXJ076322@apollo.backplane.com> To: "M. Warner Losh" References: <20041112195030.GA63153@ns1.xcllnt.net> <12448.1100289673@critter.freebsd.dk> <20041112.132531.87764635.imp@bsdimp.com> cc: wb@freebie.xs4all.nl cc: phk@phk.freebsd.dk cc: harti@freebsd.org cc: current@freebsd.org cc: marcel@xcllnt.net Subject: Re: [TEST] make -j patch [take 2] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Nov 2004 20:46:36 -0000 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 @@ -2120,7 +2120,7 @@ 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