summaryrefslogtreecommitdiff
path: root/thread_pthread.c
diff options
context:
space:
mode:
Diffstat (limited to 'thread_pthread.c')
-rw-r--r--thread_pthread.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/thread_pthread.c b/thread_pthread.c
index 1ca805843e..2435606132 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -70,11 +70,18 @@ static const void *const condattr_monotonic = NULL;
// #define HAVE_SYS_EPOLL_H 0
#endif
-#if HAVE_SYS_EPOLL_H && !defined(COROUTINE_PTHREAD_CONTEXT)
- #include <sys/epoll.h>
- #define USE_MN_THREADS 1
-#else
- #define USE_MN_THREADS 0
+#ifndef USE_MN_THREADS
+ #if defined(__EMSCRIPTEN__) || defined(COROUTINE_PTHREAD_CONTEXT) || defined(NON_SCALAR_THREAD_ID)
+ // on __EMSCRIPTEN__ provides epoll* declarations, but no implementations.
+ // on COROUTINE_PTHREAD_CONTEXT, it doesn't worth to use it.
+ // on NON_SCALAR_THREAD_ID, now we can not debug issues on x390s/Ubuntu so skip it.
+ #define USE_MN_THREADS 0
+ #elif HAVE_SYS_EPOLL_H
+ #include <sys/epoll.h>
+ #define USE_MN_THREADS 1
+ #else
+ #define USE_MN_THREADS 0
+ #endif
#endif
// native thread wrappers