shithub: dav1d

Download patch

ref: fa32f2de759a658b039e15aaa290e20e7ce874a2
parent: 6c3e85de57884820ee5f2a4e5cd8ff7a2ee73b79
author: Henrik Gramner <gramner@twoorioles.com>
date: Mon Jul 29 11:46:32 EDT 2019

Set thread names on MacOS

--- a/meson.build
+++ b/meson.build
@@ -85,8 +85,13 @@
 optional_arguments = []
 
 # Define _POSIX_C_SOURCE to POSIX.1–2001 (IEEE Std 1003.1-2001)
-test_args  += '-D_POSIX_C_SOURCE=200112L'
+test_args += '-D_POSIX_C_SOURCE=200112L'
 add_project_arguments('-D_POSIX_C_SOURCE=200112L', language: 'c')
+
+if host_machine.system() == 'darwin'
+    test_args += '-D_DARWIN_C_SOURCE'
+    add_project_arguments('-D_DARWIN_C_SOURCE', language: 'c')
+endif
 
 if host_machine.system() == 'windows'
     cdata.set('_WIN32_WINNT',           '0x0601')
--- a/src/thread.h
+++ b/src/thread.h
@@ -138,10 +138,16 @@
 
 #include <sys/prctl.h>
 
-static inline void dav1d_set_thread_name(const char* name) {
+static inline void dav1d_set_thread_name(const char *const name) {
     prctl(PR_SET_NAME, name);
 }
 
+#elif defined(__APPLE__)
+
+static inline void dav1d_set_thread_name(const char *const name) {
+    pthread_setname_np(name);
+}
+
 #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__OpenBSD__)
 
 #if defined(__FreeBSD__)
@@ -151,13 +157,13 @@
 #endif
 #include <pthread_np.h>
 
-static inline void dav1d_set_thread_name(const char* name) {
+static inline void dav1d_set_thread_name(const char *const name) {
     pthread_set_name_np(pthread_self(), name);
 }
 
 #elif defined(__NetBSD__)
 
-static inline void dav1d_set_thread_name(const char* name) {
+static inline void dav1d_set_thread_name(const char *const name) {
     pthread_setname_np(pthread_self(), "%s", (void*)name);
 }