blob: 3014e2011d373cecc385965f465840af33d77f88 [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
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef RTC_BASE_TASK_QUEUE_POSIX_H_
12#define RTC_BASE_TASK_QUEUE_POSIX_H_
tommic06b1332016-05-14 11:31:40 -070013
Henrik Kjellanderec78f1c2017-06-29 07:52:50 +020014#include <pthread.h>
tommic06b1332016-05-14 11:31:40 -070015
Henrik Kjellanderec78f1c2017-06-29 07:52:50 +020016namespace 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
tommic06b1332016-05-14 11:31:40 -070035
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020036#endif // RTC_BASE_TASK_QUEUE_POSIX_H_