blob: b677b78a38cfb68de2c314bbc54c9ef64d58d82f [file] [log] [blame]
tommic06b1332016-05-14 11:31:40 -07001/*
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_BASE_TASK_QUEUE_POSIX_H_
12#define WEBRTC_BASE_TASK_QUEUE_POSIX_H_
13
14#include <pthread.h>
15
16namespace rtc {
17
18class TaskQueue;
19
20namespace internal {
21
22class AutoSetCurrentQueuePtr {
23 public:
24 explicit AutoSetCurrentQueuePtr(TaskQueue* q);
25 ~AutoSetCurrentQueuePtr();
26
27 private:
28 TaskQueue* const prev_;
29};
30
31pthread_key_t GetQueuePtrTls();
32
33} // namespace internal
34} // namespace rtc
35
36#endif // WEBRTC_BASE_TASK_QUEUE_POSIX_H_