diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2015-09-11 13:37:53 +0100 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2015-09-11 13:50:03 +0100 |
commit | 8f62e4f7cef8ddc7caec5567e012c59cb44f68c3 (patch) | |
tree | c765afc704b5fc580560df04b8197d0d988c7206 | |
parent | 14b2ba7bed1409d7f95665bb0f1122714c5b444a (diff) | |
download | efl-8f62e4f7cef8ddc7caec5567e012c59cb44f68c3.tar.gz |
eina_thread: non-linux fixes following latest changes
-rw-r--r-- | m4/efl_threads.m4 | 10 | ||||
-rw-r--r-- | src/lib/eina/eina_thread.c | 15 |
2 files changed, 25 insertions, 0 deletions
diff --git a/m4/efl_threads.m4 b/m4/efl_threads.m4 index 4ed9ff25a9..52631f7c1a 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 3d64f5a9fe..3216719a95 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; } |