diff options
author | Evan Martin <martine@danga.com> | 2012-02-22 20:59:14 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2012-02-22 20:59:14 (GMT) |
commit | bf5ddfcf98baaabd47a0eda02027c24305bbaf62 (patch) | |
tree | 0671a676ccbc1df8b16e02860ea1cc26dd220ccc /src | |
parent | e8450027bd999046c3972d391b9d52bd7b8492b9 (diff) | |
parent | 6cf2f5a98608ad1aeeae791fbba6bfacbf135538 (diff) | |
download | Ninja-bf5ddfcf98baaabd47a0eda02027c24305bbaf62.zip Ninja-bf5ddfcf98baaabd47a0eda02027c24305bbaf62.tar.gz Ninja-bf5ddfcf98baaabd47a0eda02027c24305bbaf62.tar.bz2 |
Merge pull request #223 from pcc/restat-clean-manifest
Do not reload the manifest if a restat cleans it while being rebuilt
Diffstat (limited to 'src')
-rw-r--r-- | src/ninja.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ninja.cc b/src/ninja.cc index 6cc2276..7f07053 100644 --- a/src/ninja.cc +++ b/src/ninja.cc @@ -150,7 +150,12 @@ bool RebuildManifest(State* state, const BuildConfig& config, if (manifest_builder.AlreadyUpToDate()) return false; // Not an error, but we didn't rebuild. - return manifest_builder.Build(err); + if (!manifest_builder.Build(err)) + return false; + + // The manifest was only rebuilt if it is now dirty (it may have been cleaned + // by a restat). + return node->dirty(); } bool CollectTargetsFromArgs(State* state, int argc, char* argv[], |