diff options
| author | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2025-06-24 14:34:28 +0200 |
|---|---|---|
| committer | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2025-06-24 14:34:28 +0200 |
| commit | 4b6e375f958fb6ddf60b98c4ee84eec5548f8244 (patch) | |
| tree | 942fdb5e40762a78a0c6a666ef7532c15af571b1 | |
| parent | 36ea05fba90a64f5f10644f87f54ec360c76dcd2 (diff) | |
Expand `self_cleanup` documentation.
| -rw-r--r-- | core/thread/thread.odin | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/core/thread/thread.odin b/core/thread/thread.odin index f70471d8a..194c7bfef 100644 --- a/core/thread/thread.odin +++ b/core/thread/thread.odin @@ -258,8 +258,10 @@ to execute. The thread will have priority specified by the `priority` parameter. If `self_cleanup` is specified, after the thread finishes the execution of the `fn` procedure, the resources associated with the thread are going to be -automatically freed. **Do not** dereference the `^Thread` pointer, if this -flag is specified. +automatically freed. + +**Do not** dereference the `^Thread` pointer, if this flag is specified. +That includes calling `join`, which needs to dereference ^Thread`. **IMPORTANT**: If `init_context` is specified and the default temporary allocator is used, the thread procedure needs to call `runtime.default_temp_allocator_destroy()` @@ -291,8 +293,10 @@ to execute. The thread will have priority specified by the `priority` parameter. If `self_cleanup` is specified, after the thread finishes the execution of the `fn` procedure, the resources associated with the thread are going to be -automatically freed. **Do not** dereference the `^Thread` pointer, if this -flag is specified. +automatically freed. + +**Do not** dereference the `^Thread` pointer, if this flag is specified. +That includes calling `join`, which needs to dereference ^Thread`. **IMPORTANT**: If `init_context` is specified and the default temporary allocator is used, the thread procedure needs to call `runtime.default_temp_allocator_destroy()` @@ -328,8 +332,10 @@ to execute. The thread will have priority specified by the `priority` parameter. If `self_cleanup` is specified, after the thread finishes the execution of the `fn` procedure, the resources associated with the thread are going to be -automatically freed. **Do not** dereference the `^Thread` pointer, if this -flag is specified. +automatically freed. + +**Do not** dereference the `^Thread` pointer, if this flag is specified. +That includes calling `join`, which needs to dereference ^Thread`. **IMPORTANT**: If `init_context` is specified and the default temporary allocator is used, the thread procedure needs to call `runtime.default_temp_allocator_destroy()` @@ -371,8 +377,10 @@ to execute. The thread will have priority specified by the `priority` parameter. If `self_cleanup` is specified, after the thread finishes the execution of the `fn` procedure, the resources associated with the thread are going to be -automatically freed. **Do not** dereference the `^Thread` pointer, if this -flag is specified. +automatically freed. + +**Do not** dereference the `^Thread` pointer, if this flag is specified. +That includes calling `join`, which needs to dereference ^Thread`. **IMPORTANT**: If `init_context` is specified and the default temporary allocator is used, the thread procedure needs to call `runtime.default_temp_allocator_destroy()` @@ -420,8 +428,10 @@ to execute. The thread will have priority specified by the `priority` parameter. If `self_cleanup` is specified, after the thread finishes the execution of the `fn` procedure, the resources associated with the thread are going to be -automatically freed. **Do not** dereference the `^Thread` pointer, if this -flag is specified. +automatically freed. + +**Do not** dereference the `^Thread` pointer, if this flag is specified. +That includes calling `join`, which needs to dereference ^Thread`. **IMPORTANT**: If `init_context` is specified and the default temporary allocator is used, the thread procedure needs to call `runtime.default_temp_allocator_destroy()` @@ -471,8 +481,10 @@ to execute. The thread will have priority specified by the `priority` parameter. If `self_cleanup` is specified, after the thread finishes the execution of the `fn` procedure, the resources associated with the thread are going to be -automatically freed. **Do not** dereference the `^Thread` pointer, if this -flag is specified. +automatically freed. + +**Do not** dereference the `^Thread` pointer, if this flag is specified. +That includes calling `join`, which needs to dereference ^Thread`. **IMPORTANT**: If `init_context` is specified and the default temporary allocator is used, the thread procedure needs to call `runtime.default_temp_allocator_destroy()` |