| Index: base/tracked_objects.cc
|
| diff --git a/base/tracked_objects.cc b/base/tracked_objects.cc
|
| index 158fb94cc881b6f5605d3ca5c9dcdd6e8e62ed49..2546d9720eb0dde09c8e6e40aaca931e1a3e4a1d 100644
|
| --- a/base/tracked_objects.cc
|
| +++ b/base/tracked_objects.cc
|
| @@ -394,10 +394,6 @@ ThreadData* ThreadData::all_thread_data_list_head_ = NULL;
|
| ThreadData* ThreadData::first_retired_thread_data_ = NULL;
|
|
|
| // static
|
| -base::LazyInstance<base::Lock>::Leaky
|
| - ThreadData::list_lock_ = LAZY_INSTANCE_INITIALIZER;
|
| -
|
| -// static
|
| base::subtle::Atomic32 ThreadData::status_ = ThreadData::UNINITIALIZED;
|
|
|
| ThreadData::ThreadData(const std::string& sanitized_thread_name)
|
| @@ -423,7 +419,7 @@ void ThreadData::PushToHeadOfList() {
|
| random_number_ ^= (Now() - TrackedTime()).InMilliseconds();
|
|
|
| DCHECK(!next_);
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
| incarnation_count_for_pool_ = incarnation_counter_;
|
| next_ = all_thread_data_list_head_;
|
| all_thread_data_list_head_ = this;
|
| @@ -431,7 +427,7 @@ void ThreadData::PushToHeadOfList() {
|
|
|
| // static
|
| ThreadData* ThreadData::first() {
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
| return all_thread_data_list_head_;
|
| }
|
|
|
| @@ -479,9 +475,9 @@ void ThreadData::OnThreadTerminationCleanup() {
|
| // We must NOT do any allocations during this callback. There is a chance that
|
| // the allocator is no longer active on this thread.
|
|
|
| - // The list_lock_ was created when we registered the callback, so it won't be
|
| + // The list lock was created when we registered the callback, so it won't be
|
| // allocated here despite the lazy reference.
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
| if (incarnation_counter_ != incarnation_count_for_pool_)
|
| return; // ThreadData was constructed in an earlier unit test.
|
| ++cleanup_count_;
|
| @@ -759,7 +755,7 @@ void ThreadData::EnsureTlsInitialization() {
|
| // Ensure that we don't double initialize tls. We are called when single
|
| // threaded in the product, but some tests may be racy and lazy about our
|
| // initialization.
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
| if (base::subtle::Acquire_Load(&status_) >= DEACTIVATED)
|
| return; // Someone raced in here and beat us.
|
|
|
| @@ -837,7 +833,7 @@ TrackedTime ThreadData::Now() {
|
|
|
| // static
|
| void ThreadData::EnsureCleanupWasCalled(int major_threads_shutdown_count) {
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
|
|
| // TODO(jar): until this is working on XP, don't run the real test.
|
| #if 0
|
| @@ -857,7 +853,7 @@ void ThreadData::ShutdownSingleThreadedCleanup(bool leak) {
|
|
|
| ThreadData* thread_data_list;
|
| {
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
| thread_data_list = all_thread_data_list_head_;
|
| all_thread_data_list_head_ = NULL;
|
| ++incarnation_counter_;
|
| @@ -907,7 +903,7 @@ ThreadData* ThreadData::GetRetiredOrCreateThreadData(
|
| SCOPED_UMA_HISTOGRAM_TIMER("TrackedObjects.GetRetiredOrCreateThreadData");
|
|
|
| {
|
| - base::AutoLock lock(*list_lock_.Pointer());
|
| + base::AutoLock lock(*ListLock());
|
| ThreadData** pcursor = &first_retired_thread_data_;
|
| ThreadData* cursor = first_retired_thread_data_;
|
|
|
|
|