summaryrefslogtreecommitdiffstats
path: root/src/build_log.cc
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2013-07-08 19:34:46 (GMT)
committerNico Weber <thakis@chromium.org>2013-07-08 19:34:46 (GMT)
commit8de46a9685f562b75319bb48263e8c787e86d48b (patch)
tree21f41c2d59b4cfb0a5b467ccdfaa293946c157b1 /src/build_log.cc
parent1f7fa18dea3a57653811f75072871da08d1cff7b (diff)
downloadNinja-8de46a9685f562b75319bb48263e8c787e86d48b.zip
Ninja-8de46a9685f562b75319bb48263e8c787e86d48b.tar.gz
Ninja-8de46a9685f562b75319bb48263e8c787e86d48b.tar.bz2
Add a 'recompact' tool, which forces recompaction of the build and deps logs.
This is useful for performance comparisons between two build directories.
Diffstat (limited to 'src/build_log.cc')
-rw-r--r--src/build_log.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/build_log.cc b/src/build_log.cc
index 6b73002..2478e22 100644
--- a/src/build_log.cc
+++ b/src/build_log.cc
@@ -109,7 +109,6 @@ BuildLog::~BuildLog() {
bool BuildLog::OpenForWrite(const string& path, string* err) {
if (needs_recompaction_) {
- Close();
if (!Recompact(path, err))
return false;
}
@@ -351,6 +350,7 @@ bool BuildLog::Recompact(const string& path, string* err) {
METRIC_RECORD(".ninja_log recompact");
printf("Recompacting log...\n");
+ Close();
string temp_path = path + ".recompact";
FILE* f = fopen(temp_path.c_str(), "wb");
if (!f) {