summaryrefslogtreecommitdiff
path: root/Kernel/Scheduler.h
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-12-22 11:35:02 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-12-22 12:37:58 +0100
commit16812f0f9832769330e41421f9057b0b5a8b7b61 (patch)
treeec705d9921013a23c2419a25700e6998007d15b5 /Kernel/Scheduler.h
parent150837e7e83081d3089b6a82130076d0cdf8a013 (diff)
downloadserenity-16812f0f9832769330e41421f9057b0b5a8b7b61.zip
Kernel: Get rid of "main thread" concept
The idea of all processes reliably having a main thread was nice in some ways, but cumbersome in others. More importantly, it didn't match up with POSIX thread semantics, so let's move away from it. This thread gets rid of Process::main_thread() and you now we just have a bunch of Thread objects floating around each Process. When the finalizer nukes the last Thread in a Process, it will also tear down the Process. There's a bunch of more things to fix around this, but this is where we get started :^)
Diffstat (limited to 'Kernel/Scheduler.h')
-rw-r--r--Kernel/Scheduler.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/Kernel/Scheduler.h b/Kernel/Scheduler.h
index bbf086a107..25841c4030 100644
--- a/Kernel/Scheduler.h
+++ b/Kernel/Scheduler.h
@@ -14,6 +14,7 @@ struct SchedulerData;
extern Thread* current;
extern Thread* g_last_fpu_thread;
extern Thread* g_finalizer;
+extern Thread* g_colonel;
extern WaitQueue* g_finalizer_wait_queue;
extern u64 g_uptime;
extern SchedulerData* g_scheduler_data;