Index: base/threading/thread_local_android.cc |
diff --git a/base/threading/thread_local_posix.cc b/base/threading/thread_local_android.cc |
similarity index 70% |
copy from base/threading/thread_local_posix.cc |
copy to base/threading/thread_local_android.cc |
index 526a66d062900f30f1b1698fc7a2c603620052b7..63ffd401d76bc471e4107611f8f2fac503548a9b 100644 |
--- a/base/threading/thread_local_posix.cc |
+++ b/base/threading/thread_local_android.cc |
@@ -4,8 +4,6 @@ |
#include "base/threading/thread_local.h" |
-#include <pthread.h> |
- |
#include "base/logging.h" |
namespace base { |
@@ -13,25 +11,23 @@ namespace internal { |
// static |
void ThreadLocalPlatform::AllocateSlot(SlotType* slot) { |
- int error = pthread_key_create(slot, NULL); |
- CHECK_EQ(error, 0); |
+ bool succeed = slot->Initialize(NULL); |
+ CHECK(succeed); |
} |
// static |
void ThreadLocalPlatform::FreeSlot(SlotType slot) { |
- int error = pthread_key_delete(slot); |
- DCHECK_EQ(0, error); |
+ slot.Free(); |
} |
// static |
void* ThreadLocalPlatform::GetValueFromSlot(SlotType slot) { |
- return pthread_getspecific(slot); |
+ return slot.Get(); |
} |
// static |
void ThreadLocalPlatform::SetValueInSlot(SlotType slot, void* value) { |
- int error = pthread_setspecific(slot, value); |
- DCHECK_EQ(error, 0); |
+ slot.Set(value); |
} |
} // namespace internal |