diff options
author | Roland McGrath <roland@redhat.com> | 1994-12-05 17:42:13 +0000 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 1994-12-05 17:42:13 +0000 |
commit | 2e9779fdb40e5348a7a8c9a2bf8fc09eb674c1dc (patch) | |
tree | d1d79fd8f3c00bf1cac25e217f728c100f5c43be | |
parent | b61a13463dd7bd3027cad643c7219114e677e836 (diff) | |
download | gunmake-a6ff5ae0dc9f9d78d1d9922708d4512d5b7e376f.tar.gz |
(update_file_1): Do set_command_state (FILE, cs_not_started) only if old3.72.3
state was deps_running.
-rw-r--r-- | remake.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -491,7 +491,16 @@ update_file_1 (file, depth) return dep_status; } - set_command_state (file, cs_not_started); + if (file->command_state == cs_deps_running) + /* The commands for some deps were running on the last iteration, but + they have finished now. Reset the command_state to not_started to + simplify later bookkeeping. It is important that we do this only + when the prior state was cs_deps_running, because that prior state + was definitely propagated to FILE's also_make's by set_command_state + (called above), but in another state an also_make may have + independently changed to finished state, and we would confuse that + file's bookkeeping (updated, but not_started is bogus state). */ + set_command_state (file, cs_not_started); /* Now record which dependencies are more recent than this file, so we can define $?. */ |