Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1078)

Unified Diff: base/threading/sequenced_worker_pool.cc

Issue 20163004: base: Re-apply WeakPtr support for SequencedWorkerPools, fixing deadlock (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix deadlock issue. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/threading/sequenced_worker_pool.cc
diff --git a/base/threading/sequenced_worker_pool.cc b/base/threading/sequenced_worker_pool.cc
index 035ef2b872601a352aa697965fd5caf489f7ac1c..d9921689fe883de20873d64d48cbecc242e3aaae 100644
--- a/base/threading/sequenced_worker_pool.cc
+++ b/base/threading/sequenced_worker_pool.cc
@@ -1124,6 +1124,10 @@ SequencedWorkerPool::Inner::g_last_sequence_number_;
// static
SequencedWorkerPool::SequenceToken
SequencedWorkerPool::GetSequenceTokenForCurrentThread() {
+ // Don't construct lazy instance on check.
tommycli 2013/07/25 15:57:09 This is the 'real' fix - where it won't attempt to
+ if (g_lazy_tls_ptr == NULL)
+ return SequenceToken();
+
SequencedWorkerPool::SequenceToken* token = g_lazy_tls_ptr.Get().Get();
if (!token)
return SequenceToken();

Powered by Google App Engine
This is Rietveld 408576698