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; } --