From 48a9cf9a3c2866db8a68fd1ac6cce5627c507386 Mon Sep 17 00:00:00 2001 From: OBATA Akio Date: Tue, 4 Aug 2020 18:30:08 +0900 Subject: [PATCH] Fix to detect Thread Execution Scheduling support correctly If `_POSIX_THREAD_PRIORITY_SCHEDULING == 0`, it must be checked with sysconf(_SC_THREAD_PRIORITY_SCHEDULING) at runtime. Signed-off-by: OBATA Akio --- src/kernel/qthread_unix.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kernel/qthread_unix.cpp b/src/kernel/qthread_unix.cpp index 5a6ad877..0c1790c2 100644 --- a/src/kernel/qthread_unix.cpp +++ b/src/kernel/qthread_unix.cpp @@ -331,7 +331,10 @@ void TQThread::start(Priority priority) pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); -#if !defined(Q_OS_OPENBSD) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0) +#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0) +#if _POSIX_THREAD_PRIORITY_SCHEDULING == 0 && defined _SC_THREAD_PRIORITY_SCHEDULING + if (sysconf(_SC_THREAD_PRIORITY_SCHEDULING) > 0) +#endif switch (priority) { case InheritPriority: {