mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 23:58:50 +00:00
@@ -27,8 +27,6 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
|
|||||||
// most of the time, don't ask me why.
|
// most of the time, don't ask me why.
|
||||||
can_set_thread_cancel_state := posix.pthread_setcancelstate(.DISABLE when ODIN_OS == .Darwin else .ENABLE, nil) == nil
|
can_set_thread_cancel_state := posix.pthread_setcancelstate(.DISABLE when ODIN_OS == .Darwin else .ENABLE, nil) == nil
|
||||||
|
|
||||||
t.id = sync.current_thread_id()
|
|
||||||
|
|
||||||
if .Started not_in sync.atomic_load(&t.flags) {
|
if .Started not_in sync.atomic_load(&t.flags) {
|
||||||
sync.wait(&t.start_ok)
|
sync.wait(&t.start_ok)
|
||||||
}
|
}
|
||||||
@@ -125,6 +123,12 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
when size_of(posix.pthread_t) == size_of(i64) {
|
||||||
|
thread.id = int((^i64)(&thread.unix_thread)^)
|
||||||
|
} else {
|
||||||
|
thread.id = int((^i32)(&thread.unix_thread)^)
|
||||||
|
}
|
||||||
return thread
|
return thread
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user