mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-07 19:57:45 +03: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
@ -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…
Reference in New Issue
Block a user