mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 04:25:13 +00:00
The colonel task already had a halt loop.
Also don't reap() current in the scheduler, just wait until it's not current.
This commit is contained in:
parent
ac1d12465f
commit
e287f8ef3a
Notes:
sideshowbarker
2024-07-19 18:31:56 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/e287f8ef3ad
1 changed files with 2 additions and 9 deletions
|
@ -66,7 +66,7 @@ bool Scheduler::pick_next()
|
|||
}
|
||||
|
||||
if (process.state() == Process::Dead) {
|
||||
if (!Process::from_pid(process.ppid()))
|
||||
if (current != &process && !Process::from_pid(process.ppid()))
|
||||
Process::reap(process.pid());
|
||||
return true;
|
||||
}
|
||||
|
@ -242,19 +242,12 @@ void Scheduler::prepare_to_modify_tss(Process& process)
|
|||
load_task_register(s_redirection.selector);
|
||||
}
|
||||
|
||||
static void hlt_loop()
|
||||
{
|
||||
for (;;) {
|
||||
asm volatile("hlt");
|
||||
}
|
||||
}
|
||||
|
||||
void Scheduler::initialize()
|
||||
{
|
||||
memset(&s_redirection, 0, sizeof(s_redirection));
|
||||
s_redirection.selector = gdt_alloc_entry();
|
||||
initialize_redirection();
|
||||
s_colonel_process = Process::create_kernel_process(hlt_loop, "colonel");
|
||||
s_colonel_process = Process::create_kernel_process(nullptr, "colonel");
|
||||
current = nullptr;
|
||||
load_task_register(s_redirection.selector);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue