This is with GNU Make 3.80.
When doing parallel builds, after make sees the first failure and prints:
make: *** Waiting for unfinished jobs....
It enters a state where a second failure will cause make to exit, leaving
orphaned jobs. It should continue to wait for the other unfinished jobs.
The following makefile will expose the problem:
[EMAIL PROTECTED]:05pm]~(555) cat Makefile
all: fail fail2 0 1 2 3
0:
sleep 3 ; echo $@
1:
sleep 6 ; echo $@
2:
sleep 9; echo $@
3:
sleep 12; echo $@
fail:
sleep 5; false
fail2:
sleep 8; false
And an example run:
[EMAIL PROTECTED]:06pm]~(556) make -j
sleep 5; false
sleep 8; false
sleep 3 ; echo 0
sleep 6 ; echo 1
sleep 9; echo 2
sleep 12; echo 3
0
make: *** [fail] Error 1
make: *** Waiting for unfinished jobs....
1
make: *** [fail2] Error 1
[EMAIL PROTECTED]:06pm]~(557) 2
3
You'll notice that although targets 2 and 3 are still running as jobs, the
fact that fail2 failed, make exited. Then sometime later 2 and 3 finished.
Cheers,
mrc
--
Mike Castle [EMAIL PROTECTED] www.netcom.com/~dalgoda/
We are all of us living in the shadow of Manhattan. -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc
_______________________________________________
Bug-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-make