From ae848e97767ddb14299e58eafab81e4e1a063417 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sun, 19 Mar 2023 20:35:48 +0000 Subject: [PATCH] sched: add thread status flags --- include/socks/sched.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/include/socks/sched.h b/include/socks/sched.h index 6b7e049..f346105 100644 --- a/include/socks/sched.h +++ b/include/socks/sched.h @@ -17,11 +17,16 @@ typedef enum task_state { } task_state_t; typedef enum thread_state { - THREAD_READY, - THREAD_SLEEPING, - THREAD_STOPPED, + THREAD_READY = 1, + THREAD_SLEEPING = 2, + THREAD_STOPPED = 3, } thread_state_t; +typedef enum thread_flags { + THREAD_F_NEED_RESCHED = 0x01u, + THREAD_F_NO_PREEMPT = 0x02u, +} thread_flags_t; + typedef enum sched_priority { PRIO_IDLE = 4, PRIO_SUBNORMAL = 6, @@ -45,7 +50,8 @@ typedef struct task { } task_t; typedef struct thread { - thread_state_t tr_state; + thread_state_t tr_state : 8; + thread_flags_t tr_flags : 8; task_t *tr_parent; unsigned int tr_id;