diff --git a/core/thread/thread.odin b/core/thread/thread.odin index 25f92efd1..d1b95a2fd 100644 --- a/core/thread/thread.odin +++ b/core/thread/thread.odin @@ -12,6 +12,7 @@ MAX_USER_ARGUMENTS :: 8 Thread :: struct { using specific: Thread_Os_Specific, + id: int, procedure: Thread_Proc, data: rawptr, user_index: int, diff --git a/core/thread/thread_unix.odin b/core/thread/thread_unix.odin index f6eafcdae..f78d8f66f 100644 --- a/core/thread/thread_unix.odin +++ b/core/thread/thread_unix.odin @@ -47,7 +47,8 @@ _create :: proc(procedure: Thread_Proc, priority := Thread_Priority.Normal) -> ^ t.start_mutex = {} context = t.init_context.? or_else runtime.default_context() - + + t.id = sync.current_thread_id() t.procedure(t) if t.init_context == nil { diff --git a/core/thread/thread_windows.odin b/core/thread/thread_windows.odin index 580ba9543..428e241d0 100644 --- a/core/thread/thread_windows.odin +++ b/core/thread/thread_windows.odin @@ -24,7 +24,8 @@ _create :: proc(procedure: Thread_Proc, priority := Thread_Priority.Normal) -> ^ __windows_thread_entry_proc :: proc "stdcall" (t_: rawptr) -> win32.DWORD { t := (^Thread)(t_) context = t.init_context.? or_else runtime.default_context() - + + t.id = sync.current_thread_id() t.procedure(t) if t.init_context == nil {