blob: 96290669be6d7eb0714933b4f53aabf35940d34e [file] [log] [blame]
Tommibebc6902015-05-18 09:51:42 +02001/*
2 * Copyright (c) 2015 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_PLATFORM_THREAD_H_
12#define WEBRTC_BASE_PLATFORM_THREAD_H_
13
14#if defined(WEBRTC_WIN)
15#include <winsock2.h>
16#include <windows.h>
17#elif defined(WEBRTC_POSIX)
18#include <pthread.h>
19#include <unistd.h>
20#endif
21
22namespace rtc {
23
24#if defined(WEBRTC_WIN)
25typedef DWORD PlatformThreadId;
26typedef DWORD PlatformThreadRef;
27#elif defined(WEBRTC_POSIX)
28typedef pid_t PlatformThreadId;
29typedef pthread_t PlatformThreadRef;
30#endif
31
32PlatformThreadId CurrentThreadId();
33PlatformThreadRef CurrentThreadRef();
34
35// Compares two thread identifiers for equality.
36bool IsThreadRefEqual(const PlatformThreadRef& a, const PlatformThreadRef& b);
37
38} // namespace rtc
39
40#endif // WEBRTC_BASE_PLATFORM_THREAD_H_