eina_thread: non-linux fixes following latest changes
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Fri, 11 Sep 2015 12:37:53 +0000 (13:37 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Fri, 11 Sep 2015 12:50:03 +0000 (13:50 +0100)
m4/efl_threads.m4
src/lib/eina/eina_thread.c

index 4ed9ff2..52631f7 100644 (file)
@@ -56,6 +56,9 @@ pthread_barrier_init(&barrier, NULL, 1);
 #include <stdlib.h>
 #include <pthread.h>
 #include <sched.h>
+#ifndef __linux__
+#include <pthread_np.h>
+#endif
                        ]],
                        [[
 pthread_attr_setaffinity_np(NULL, 0, NULL);
@@ -67,9 +70,16 @@ pthread_attr_setaffinity_np(NULL, 0, NULL);
 #define _GNU_SOURCE
 #include <stdlib.h>
 #include <pthread.h>
+#ifndef __linux__
+#include <pthread_np.h>
+#endif
                        ]],
                        [[
+#ifndef __linux__
+pthread_set_name_np(NULL, NULL);
+#else
 pthread_setname_np(NULL, NULL);
+#endif
                        ]])],
       [efl_have_setname="yes"],
       [efl_have_setname="no"])
index 3d64f5a..3216719 100644 (file)
 # include <pthread.h>
 # include <errno.h>
 
+#ifdef EINA_HAVE_PTHREAD_AFFINITY
+#ifndef __linux__
+#include <pthread_np.h>
+#define cpu_set_t cpuset_t
+#endif
+#endif
+
 static inline void *
 _eina_thread_join(Eina_Thread t)
 {
@@ -181,8 +188,16 @@ eina_thread_name_set(Eina_Thread t, const char *name)
         buf[15] = 0;
      }
    else buf[0] = 0;
+#ifndef __linux__
+   pthread_set_name_np((pthread_t)t, buf);
+   return EINA_TRUE;
+#else
    if (pthread_setname_np((pthread_t)t, buf) == 0) return EINA_TRUE;
 #endif
+#else
+   (void)t;
+   (void)name;
+#endif
    return EINA_FALSE;
 }