wip: multitasking: add status forked

This commit is contained in:
2025-02-03 13:11:38 +01:00
parent 18486a6705
commit 7b7cc86999
5 changed files with 49 additions and 21 deletions

View File

@ -8,7 +8,7 @@
extern struct task *current_task;
enum status { ZOMBIE, THREAD, RUN, WAIT, SLEEP, STOPPED };
enum status { ZOMBIE, THREAD, RUN, WAIT, SLEEP, STOPPED, FORKED };
enum owner { OWNER_KERNEL, OWNER_USER };
#define STACK_SIZE PAGE_SIZE * 4
@ -31,9 +31,13 @@ struct task {
void scheduler(void);
void switch_to_task(struct task *next_task);
void exec_fn(void (*fn)(void));
struct task *create_task(u8 uid);
i8 create_kernel_task(void);
void remove_task(struct task *task);
struct task *copy_task(const struct task *task);
void kfork(struct task *daddy);
// utils
void exec_fn(void (*fn)(void));
u16 fork(void);
u16 wait(void);