blob: cefc8573b8a9d2b9e910e4cb9462d6b5f39da26b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
--- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2020-11-13 06:42:25 UTC
+++ third_party/webrtc/rtc_base/platform_thread_types.cc
@@ -11,7 +11,11 @@
#include "rtc_base/platform_thread_types.h"
#if defined(WEBRTC_LINUX)
+#if !defined(__FreeBSD__)
#include <sys/prctl.h>
+#else
+#include <pthread_np.h>
+#endif
#include <sys/syscall.h>
#endif
@@ -37,6 +41,8 @@ PlatformThreadId CurrentThreadId() {
return gettid();
#elif defined(WEBRTC_FUCHSIA)
return zx_thread_self();
+#elif defined(__FreeBSD__)
+ return pthread_getthreadid_np();
#elif defined(WEBRTC_LINUX)
return syscall(__NR_gettid);
#elif defined(__EMSCRIPTEN__)
@@ -67,6 +73,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
}
void SetCurrentThreadName(const char* name) {
+#if !defined(__FreeBSD__)
#if defined(WEBRTC_WIN)
// The SetThreadDescription API works even if no debugger is attached.
// The names set with this API also show up in ETW traces. Very handy.
@@ -109,6 +116,7 @@ void SetCurrentThreadName(const char* name) {
prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT
#elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
pthread_setname_np(name);
+#endif
#endif
}
|