| Index: base/threading/thread_local_storage.cc
|
| diff --git a/base/threading/thread_local_storage.cc b/base/threading/thread_local_storage.cc
|
| index 0bb396cfd7966fbe493b43683f4bb59a5561c9ce..701f6a2af9bf5afd1ae12c4b89fc387963ced92d 100644
|
| --- a/base/threading/thread_local_storage.cc
|
| +++ b/base/threading/thread_local_storage.cc
|
| @@ -192,8 +192,8 @@ void PlatformThreadLocalStorage::OnThreadExit(void* value) {
|
| } // namespace internal
|
|
|
| ThreadLocalStorage::Slot::Slot(TLSDestructorFunc destructor) {
|
| - initialized_ = false;
|
| slot_ = 0;
|
| + base::subtle::Release_Store(&initialized_, 0);
|
| Initialize(destructor);
|
| }
|
|
|
| @@ -211,7 +211,7 @@ void ThreadLocalStorage::StaticSlot::Initialize(TLSDestructorFunc destructor) {
|
|
|
| // Setup our destructor.
|
| g_tls_destructors[slot_] = destructor;
|
| - initialized_ = true;
|
| + base::subtle::Release_Store(&initialized_, 1);
|
| }
|
|
|
| void ThreadLocalStorage::StaticSlot::Free() {
|
| @@ -221,7 +221,7 @@ void ThreadLocalStorage::StaticSlot::Free() {
|
| DCHECK_LT(slot_, kThreadLocalStorageSize);
|
| g_tls_destructors[slot_] = NULL;
|
| slot_ = 0;
|
| - initialized_ = false;
|
| + base::subtle::Release_Store(&initialized_, 0);
|
| }
|
|
|
| void* ThreadLocalStorage::StaticSlot::Get() const {
|
|
|