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.md9
1 files changed, 6 insertions, 3 deletions
diff --git a/docs/application/thread.md b/docs/application/thread.md
index 231b0fe..2f85a67 100644
--- a/docs/application/thread.md
+++ b/docs/application/thread.md
@@ -9,12 +9,15 @@ typedef struct _kpl_task kpl_task;
typedef void kpl_task_fn(kpl_task *t);
+#define KPL_TASK_STATE_SIZE 32
+
typedef struct _task {
task *_Atomic next, *join;
- kpl_group *state;
+ kpl_class state[KPL_TASK_STATE_SIZE];
kpl_result return_value;
task_fn *fn;
int32_t thread_id;
+ int16_t state_length;
_Atomic bool join_ready;
} task;
@@ -35,10 +38,10 @@ typedef struct {
struct {
kpl_task *_Atomic next;
} dummy;
-} kpl_atomic_queue;
+} kpl_task_queue;
typedef struct {
- kpl_atomic_queue queue;
+ kpl_task_queue queue;
_Atomic ssize_t priority;
kpl_task_slab *slab;
kpl_task *pool;