From 49132b3564ed358d6a2f786675007c138bb9947e Mon Sep 17 00:00:00 2001 From: DanielSvoboda Date: Mon, 8 Jul 2024 19:39:44 -0300 Subject: [PATCH] Support SCHED_FIFO and SCHED_RR Policy Support SCHED_FIFO and SCHED_RR Policy --- src/core/libraries/kernel/thread_management.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/libraries/kernel/thread_management.cpp b/src/core/libraries/kernel/thread_management.cpp index 3f6f9bd6a..2a0fc7c00 100644 --- a/src/core/libraries/kernel/thread_management.cpp +++ b/src/core/libraries/kernel/thread_management.cpp @@ -275,9 +275,16 @@ int PS4_SYSV_ABI scePthreadAttrSetschedpolicy(ScePthreadAttr* attr, int policy) return SCE_KERNEL_ERROR_EINVAL; } - int ppolicy = SCHED_OTHER; // winpthreads only supports SCHED_OTHER - if (policy != SCHED_OTHER) { + int ppolicy; + switch (policy) { + case SCHED_OTHER: + case SCHED_FIFO: + case SCHED_RR: + ppolicy = policy; + break; + default: LOG_ERROR(Kernel_Pthread, "policy={} not supported by winpthreads", policy); + return SCE_KERNEL_ERROR_EINVAL; } (*attr)->policy = policy;