summaryrefslogtreecommitdiff
path: root/docs/application/thread.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-07-03 13:27:41 -0400
committernodist <kevin.comas.git@gmail.com>2026-07-03 13:27:41 -0400
commitbe4f67c834719a8d12f5588d42d64bd39d1cb0c6 (patch)
tree7b308dc3df225ac16db20e59cf459fc66f0a0250 /docs/application/thread.md
parent523649ed10f85bddcad574afa47abaf73d2b0a1e (diff)
add more lifecycle
Diffstat (limited to 'docs/application/thread.md')
-rw-r--r--docs/application/thread.md7
1 files changed, 4 insertions, 3 deletions
diff --git a/docs/application/thread.md b/docs/application/thread.md
index 7ed5cae..770358f 100644
--- a/docs/application/thread.md
+++ b/docs/application/thread.md
@@ -9,10 +9,10 @@ typedef struct _kpl_task kpl_task;
typedef void kpl_task_fn(kpl_task *t);
-#define KPL_TASK_STATE_SIZE 32
+#define KPL_TASK_STATE_SIZE 24
typedef struct _task {
- task *_Atomic next, *join;
+ task *_Atomic next, *join, *parent;
kpl_class state[KPL_TASK_STATE_SIZE];
kpl_result result;
task_fn *fn;
@@ -43,7 +43,8 @@ typedef struct {
typedef struct {
kpl_task_queue queue;
_Atomic ssize_t priority;
- size_t slab_array_index;
+ uint32_t slab_array_index;
+ _Atomic uint32_t pool_size;
kpl_task_slab *slab;
kpl_task *pool;
sem_t counter;