|
@@ -81,9 +81,12 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
|
|
defer unix.pthread_attr_destroy(&attrs)
|
|
defer unix.pthread_attr_destroy(&attrs)
|
|
|
|
|
|
// 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)
|
|
|
|
|
|
+ res: i32
|
|
|
|
+ res = unix.pthread_attr_setdetachstate(&attrs, unix.PTHREAD_CREATE_JOINABLE)
|
|
|
|
+ assert(res == 0)
|
|
when ODIN_OS != .Haiku && ODIN_OS != .NetBSD {
|
|
when ODIN_OS != .Haiku && ODIN_OS != .NetBSD {
|
|
- assert(unix.pthread_attr_setinheritsched(&attrs, unix.PTHREAD_EXPLICIT_SCHED) == 0)
|
|
|
|
|
|
+ res = unix.pthread_attr_setinheritsched(&attrs, unix.PTHREAD_EXPLICIT_SCHED)
|
|
|
|
+ assert(res == 0)
|
|
}
|
|
}
|
|
|
|
|
|
thread := new(Thread)
|
|
thread := new(Thread)
|
|
@@ -94,7 +97,6 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
|
|
|
|
|
|
// Set thread priority.
|
|
// Set thread priority.
|
|
policy: i32
|
|
policy: i32
|
|
- res: i32
|
|
|
|
when ODIN_OS != .Haiku && ODIN_OS != .NetBSD {
|
|
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)
|