aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorNathan Wong <nathan@wongsoft.com>2026-01-13 16:38:22 -0800
committerNathan Wong <nathan@wongsoft.com>2026-01-13 16:38:22 -0800
commitbd9d682d154ceb4b6d4a9b129eacce16757219b3 (patch)
tree3e07eddbf2edafd325169b137b7758a4374d3976 /core
parent9d72025a0b6f7b94682662316b892ece865ad8aa (diff)
Ensure creating a low priority thread does not assert with SCHED_OTHER policy
Diffstat (limited to 'core')
-rw-r--r--core/thread/thread_unix.odin6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/thread/thread_unix.odin b/core/thread/thread_unix.odin
index e18ea593d..af2a4a3c1 100644
--- a/core/thread/thread_unix.odin
+++ b/core/thread/thread_unix.odin
@@ -107,7 +107,11 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
high := posix.sched_get_priority_max(policy)
switch priority {
case .Normal: // Okay
- case .Low: params.sched_priority = low + 1
+ case .Low:
+ params.sched_priority = low + 1
+ if params.sched_priority >= high {
+ params.sched_priority = low
+ }
case .High: params.sched_priority = high
}
res = posix.pthread_attr_setschedparam(&attrs, &params)