mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-04 12:07:45 +00:00
Fixed concurrency issue
Fixed broken thread policy causing deadlocks.
This commit is contained in:
@@ -78,7 +78,7 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
|
||||
|
||||
// NOTE(tetra, 2019-11-01): These only fail if their argument is invalid.
|
||||
assert(unix.pthread_attr_setdetachstate(&attrs, unix.PTHREAD_CREATE_JOINABLE) == 0)
|
||||
when ODIN_OS != .Haiku {
|
||||
when ODIN_OS != .Haiku && ODIN_OS != .NetBSD {
|
||||
assert(unix.pthread_attr_setinheritsched(&attrs, unix.PTHREAD_EXPLICIT_SCHED) == 0)
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
|
||||
// Set thread priority.
|
||||
policy: i32
|
||||
res: i32
|
||||
when ODIN_OS != .Haiku {
|
||||
when ODIN_OS != .Haiku && ODIN_OS != .NetBSD {
|
||||
res = unix.pthread_attr_getschedpolicy(&attrs, &policy)
|
||||
assert(res == 0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user