aboutsummaryrefslogtreecommitdiff
path: root/core/thread/thread_unix.odin
diff options
context:
space:
mode:
authorhikari <ftphikari@gmail.com>2023-06-07 19:11:16 +0300
committerhikari <ftphikari@gmail.com>2023-06-07 19:11:16 +0300
commitdcf4e51787119d8dcf86ca0195d3a07aea6d47a8 (patch)
tree0b5cc5674de634e52d4a2fdbdbee1618007801da /core/thread/thread_unix.odin
parent7dc09ed4501d0a7b256a05e6467cd86a262367ae (diff)
[core:thread] Added `self_cleanup` flag to properly auto-clean threads
Diffstat (limited to 'core/thread/thread_unix.odin')
-rw-r--r--core/thread/thread_unix.odin5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/thread/thread_unix.odin b/core/thread/thread_unix.odin
index 45d2bca2e..eac971dd7 100644
--- a/core/thread/thread_unix.odin
+++ b/core/thread/thread_unix.odin
@@ -67,6 +67,11 @@ _create :: proc(procedure: Thread_Proc, priority: Thread_Priority) -> ^Thread {
sync.unlock(&t.mutex)
+ if t.self_cleanup {
+ t.unix_thread = {}
+ free(t, t.creation_allocator)
+ }
+
return nil
}