URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16138>
Summary: multiple jobservers started up by parallel make (and so uses 4 FDs instead of just 2) Project: make Submitted by: None Submitted on: Mon 03/20/06 at 21:58 Severity: 3 - Normal Item Group: Bug Status: None Privacy: Public Assigned to: None Open/Closed: Open Component Version: 3.79.1 Platform Version: POSIX-Based Fixed Release: None _______________________________________________________ Details: The command 'make test' with the following makefile fails when trying to process the 'submake' target in the 2nd makefile (makefile2) because file descriptor 5 is being used by the parallel make jobserver. If you then do another 'make test', it works because 'dependfile' exists. It seems that when make is making the 'dependfile' so it can do the 'include dependfile' it starts up a jobserver (using FD 3,4) and then when it processes the 'submake' target, it does not know about the first jobserver and so starts up another jobserver (using FD 5,6). Running on a Linux machine where uname -a returns: Linux lnxmach1 2.4.21-20.ELsmp #1 SMP Wed Aug 18 20:46:40 EDT 2004 i686 i686 i386 GNU/Linux makefile -------- test: @echo MAKE=$(MAKE) MAKEFLAGS=$(MAKEFLAGS)MFLAGS=$(MFLAGS) $(MAKE) -f makefile2 -j 2 submake makefile2 --------- dependfile: @echo SOMEMACRO=joe > $@ @echo MAKE=$(MAKE) MAKEFLAGS=$(MAKEFLAGS)MFLAGS=$(MFLAGS) include dependfile submake: @echo MAKE=$(MAKE) MAKEFLAGS=$(MAKEFLAGS)MFLAGS=$(MFLAGS) $(MAKE) -f makefile2 fdprint 5>output fdprint: @echo MAKE=$(MAKE) MAKEFLAGS=$(MAKEFLAGS)MFLAGS=$(MFLAGS) @echo hi >&5 _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16138> _______________________________________________ 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