aboutsummaryrefslogtreecommitdiff
path: root/core/thread
diff options
context:
space:
mode:
Diffstat (limited to 'core/thread')
-rw-r--r--core/thread/thread_unix.odin4
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) {