Fake PO2TS GetRequestContext should return NULL.
[chromium-blink-merge.git] / base / threading / thread_local_posix.cc
blob526a66d062900f30f1b1698fc7a2c603620052b7
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/threading/thread_local.h"
7 #include <pthread.h>
9 #include "base/logging.h"
11 namespace base {
12 namespace internal {
14 // static
15 void ThreadLocalPlatform::AllocateSlot(SlotType* slot) {
16 int error = pthread_key_create(slot, NULL);
17 CHECK_EQ(error, 0);
20 // static
21 void ThreadLocalPlatform::FreeSlot(SlotType slot) {
22 int error = pthread_key_delete(slot);
23 DCHECK_EQ(0, error);
26 // static
27 void* ThreadLocalPlatform::GetValueFromSlot(SlotType slot) {
28 return pthread_getspecific(slot);
31 // static
32 void ThreadLocalPlatform::SetValueInSlot(SlotType slot, void* value) {
33 int error = pthread_setspecific(slot, value);
34 DCHECK_EQ(error, 0);
37 } // namespace internal
38 } // namespace base