diff options
Diffstat (limited to 'core/thread')
| -rw-r--r-- | core/thread/thread_unix.odin | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/thread/thread_unix.odin b/core/thread/thread_unix.odin index 8e1ab2b2c..e40091cca 100644 --- a/core/thread/thread_unix.odin +++ b/core/thread/thread_unix.odin @@ -44,7 +44,7 @@ _create :: proc(procedure: Thread_Proc, priority := Thread_Priority.Normal) -> ^ t.procedure(t) - t.flags += { .Done } + intrinsics.atomic_store(&t.flags, t.flags + { .Done }); sync.unlock(&t.mutex) @@ -105,7 +105,7 @@ _start :: proc(t: ^Thread) { } _is_done :: proc(t: ^Thread) -> bool { - return intrinsics.atomic_and(&t.flags, { .Done }) != nil + return .Done in intrinsics.atomic_load(&t.flags); } _join :: proc(t: ^Thread) { |