mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 06:38:47 +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.
|
// NOTE(tetra, 2019-11-01): These only fail if their argument is invalid.
|
||||||
assert(unix.pthread_attr_setdetachstate(&attrs, unix.PTHREAD_CREATE_JOINABLE) == 0)
|
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)
|
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.
|
// Set thread priority.
|
||||||
policy: i32
|
policy: i32
|
||||||
res: i32
|
res: i32
|
||||||
when ODIN_OS != .Haiku {
|
when ODIN_OS != .Haiku && ODIN_OS != .NetBSD {
|
||||||
res = unix.pthread_attr_getschedpolicy(&attrs, &policy)
|
res = unix.pthread_attr_getschedpolicy(&attrs, &policy)
|
||||||
assert(res == 0)
|
assert(res == 0)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user