Remove use of synchronization/ in tools/gn/header_checker
Change-Id: Iec9fa7d8bf728742a7579cbba06f7cefc98bce50
Reviewed-on: https://gn-review.googlesource.com/1703
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
diff --git a/tools/gn/header_checker.cc b/tools/gn/header_checker.cc
index 2729653..19a07a3 100644
--- a/tools/gn/header_checker.cc
+++ b/tools/gn/header_checker.cc
@@ -120,7 +120,7 @@
HeaderChecker::HeaderChecker(const BuildSettings* build_settings,
const std::vector<const Target*>& targets)
- : build_settings_(build_settings), task_count_cv_(&lock_) {
+ : build_settings_(build_settings), lock_(), task_count_cv_() {
for (auto* target : targets)
AddTargetToFileMap(target, &file_map_);
}
@@ -174,22 +174,22 @@
}
// Wait for all tasks posted by this method to complete.
- base::AutoLock auto_lock(lock_);
+ std::unique_lock<std::mutex> auto_lock(lock_);
while (!task_count_.IsZero())
- task_count_cv_.Wait();
+ task_count_cv_.wait(auto_lock);
}
void HeaderChecker::DoWork(const Target* target, const SourceFile& file) {
Err err;
if (!CheckFile(target, file, &err)) {
- base::AutoLock lock(lock_);
+ std::lock_guard<std::mutex> lock(lock_);
errors_.push_back(err);
}
if (!task_count_.Decrement()) {
// Signal |task_count_cv_| when |task_count_| becomes zero.
- base::AutoLock auto_lock(lock_);
- task_count_cv_.Signal();
+ std::unique_lock<std::mutex> auto_lock(lock_);
+ task_count_cv_.notify_one();
}
}
diff --git a/tools/gn/header_checker.h b/tools/gn/header_checker.h
index 8b2d504..9fde97c 100644
--- a/tools/gn/header_checker.h
+++ b/tools/gn/header_checker.h
@@ -5,7 +5,9 @@
#ifndef TOOLS_GN_HEADER_CHECKER_H_
#define TOOLS_GN_HEADER_CHECKER_H_
+#include <condition_variable>
#include <map>
+#include <mutex>
#include <vector>
#include "base/atomic_ref_count.h"
@@ -13,8 +15,6 @@
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "base/strings/string_piece.h"
-#include "base/synchronization/condition_variable.h"
-#include "base/synchronization/lock.h"
#include "tools/gn/err.h"
#include "tools/gn/source_dir.h"
@@ -182,12 +182,12 @@
//
// These are mutable during runtime and require locking.
- base::Lock lock_;
+ std::mutex lock_;
std::vector<Err> errors_;
// Signaled when |task_count_| becomes zero.
- base::ConditionVariable task_count_cv_;
+ std::condition_variable task_count_cv_;
DISALLOW_COPY_AND_ASSIGN(HeaderChecker);
};