q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8f62e4f7cef8ddc7caec5567e012c59cb44f68c3

commit 8f62e4f7cef8ddc7caec5567e012c59cb44f68c3
Author: Daniel Kolesa <d.kol...@osg.samsung.com>
Date:   Fri Sep 11 13:37:53 2015 +0100

    eina_thread: non-linux fixes following latest changes
---
 m4/efl_threads.m4          | 10 ++++++++++
 src/lib/eina/eina_thread.c | 15 +++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/m4/efl_threads.m4 b/m4/efl_threads.m4
index 4ed9ff2..52631f7 100644
--- a/m4/efl_threads.m4
+++ b/m4/efl_threads.m4
@@ -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"])
diff --git a/src/lib/eina/eina_thread.c b/src/lib/eina/eina_thread.c
index 3d64f5a..3216719 100644
--- a/src/lib/eina/eina_thread.c
+++ b/src/lib/eina/eina_thread.c
@@ -35,6 +35,13 @@
 # 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;
 }
 

-- 


Reply via email to