summaryrefslogtreecommitdiffstats
path: root/src/ninja.cc
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2014-06-15 21:11:27 (GMT)
committerNico Weber <thakis@chromium.org>2014-06-15 21:13:54 (GMT)
commit726afc8226a10cd6c5ce724a845ff5cd17169091 (patch)
tree2c19ad79d9356ea6e63ba710fa8d92d532f0c491 /src/ninja.cc
parent9970174e2ab8e4d5c9f333b795c8d284cf1cb8f5 (diff)
downloadNinja-726afc8226a10cd6c5ce724a845ff5cd17169091.zip
Ninja-726afc8226a10cd6c5ce724a845ff5cd17169091.tar.gz
Ninja-726afc8226a10cd6c5ce724a845ff5cd17169091.tar.bz2
Free cache memory once it's no longer used.
Doesn't slow down empty build times measurably, and saves some memory on non-empty builds.
Diffstat (limited to 'src/ninja.cc')
-rw-r--r--src/ninja.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/ninja.cc b/src/ninja.cc
index cace2a0..eedfec0 100644
--- a/src/ninja.cc
+++ b/src/ninja.cc
@@ -889,10 +889,7 @@ int NinjaMain::RunBuild(int argc, char** argv) {
return 1;
}
-#ifdef _WIN32
- if (g_experimental_win_statcache)
- disk_interface_.use_cache_ = true;
-#endif
+ disk_interface_.AllowCache(g_experimental_win_statcache);
Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_);
for (size_t i = 0; i < targets.size(); ++i) {
@@ -907,10 +904,8 @@ int NinjaMain::RunBuild(int argc, char** argv) {
}
}
-#ifdef _WIN32
// Make sure restat rules do not see stale timestamps.
- disk_interface_.use_cache_ = false;
-#endif
+ disk_interface_.AllowCache(false);
if (builder.AlreadyUpToDate()) {
printf("ninja: no work to do.\n");