bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #15919] Make-3.81 rc1 hangs with -j 2 but not with -j 1


From: Icarus Sparry
Subject: [bug #15919] Make-3.81 rc1 hangs with -j 2 but not with -j 1
Date: Tue, 14 Nov 2006 16:53:42 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060830 Firefox/1.5.0.7 (Debian-1.5.dfsg+1.5.0.7-2)

Follow-up Comment #13, bug #15919 (project make):

How much explanation do you want for a 1 line patch, which just initialises a
variable?

The way that make builds when it is in parallel make mode is different from
the way that it builds when it is building sequentially. The bug manifests
itself for any number of jobs greater than 1, there is nothing special about
2, and my test case sets it to infinite.

The guts of the GNU make engine is two mutually recursive routines, check_dep
and update_file. (update_file_1 is just called from one place, and so could be
usefully declared "inline", or make could be compiled with
-finline-functions-called-once)

The underdocumented requirement for check_dep is to build an non-intermediate
files that this file depends on, and set *must_make_pointer to be 1 if this
needs to be made. There is an undocumented requirement when jobs are run in
parrallel for the state not to be left in cs_deps_running if all of the
dependencies have completed. The is what my fix does.

More later.....

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?15919>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]