diff options
Diffstat (limited to 'base/threading/thread_local_storage_unittest.cc')
-rw-r--r-- | base/threading/thread_local_storage_unittest.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/base/threading/thread_local_storage_unittest.cc b/base/threading/thread_local_storage_unittest.cc index 322524b10e..335252b18e 100644 --- a/base/threading/thread_local_storage_unittest.cc +++ b/base/threading/thread_local_storage_unittest.cc @@ -127,4 +127,14 @@ TEST(ThreadLocalStorageTest, MAYBE_TLSDestructors) { tls_slot.Free(); // Stop doing callbacks to cleanup threads. } +TEST(ThreadLocalStorageTest, TLSReclaim) { + // Creates and destroys many TLS slots and ensures they all zero-inited. + for (int i = 0; i < 1000; ++i) { + ThreadLocalStorage::Slot slot(nullptr); + EXPECT_EQ(nullptr, slot.Get()); + slot.Set(reinterpret_cast<void*>(0xBAADF00D)); + EXPECT_EQ(reinterpret_cast<void*>(0xBAADF00D), slot.Get()); + } +} + } // namespace base |