Add synchornization primitives, `waiting` to task
diff --git a/include/kernel/task.h b/include/kernel/task.h
index b0d0f97..83e7fd0 100644
--- a/include/kernel/task.h
+++ b/include/kernel/task.h
@@ -29,6 +29,8 @@
struct task
{
int id;
+ /// Is this task waiting for I/O?
+ bool waiting;
struct process *proc;
/// Physical address of the top of the stack.
uint stack_top_p;
@@ -60,6 +62,8 @@
void spawn_thread(task_function_t function, void *data);
+void set_waiting(int tid, bool waiting);
+
/**
* Halt the current thread.
*/