summaryrefslogtreecommitdiff
path: root/docs/application/thread.md
diff options
context:
space:
mode:
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;