blob: cab2009a224d79ad5b52b3efa08a95d5435c092b [file] [log] [blame]
Henrik Kjellander67765182017-06-28 20:58:07 +02001/*
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_RTC_BASE_TASK_QUEUE_POSIX_H_
12#define WEBRTC_RTC_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_RTC_BASE_TASK_QUEUE_POSIX_H_