blob: cab2009a224d79ad5b52b3efa08a95d5435c092b [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
Henrik Kjellanderc0362762017-06-29 08:03:04 +020011#ifndef WEBRTC_RTC_BASE_TASK_QUEUE_POSIX_H_
12#define WEBRTC_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
Henrik Kjellanderc0362762017-06-29 08:03:04 +020036#endif // WEBRTC_RTC_BASE_TASK_QUEUE_POSIX_H_