mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:58:12 +00:00
Reduce number of passes in the scheduler by 2.
This commit is contained in:
parent
39d2fcbbee
commit
440029c9d1
2 changed files with 23 additions and 16 deletions
|
@ -857,20 +857,24 @@ void Process::doHouseKeeping()
|
|||
void Process::for_each(Function<bool(Process&)> callback)
|
||||
{
|
||||
ASSERT_INTERRUPTS_DISABLED();
|
||||
for (auto* process = g_processes->head(); process; process = process->next()) {
|
||||
for (auto* process = g_processes->head(); process;) {
|
||||
auto* next_process = process->next();
|
||||
if (!callback(*process))
|
||||
break;
|
||||
process = next_process;
|
||||
}
|
||||
}
|
||||
|
||||
void Process::for_each_in_pgrp(pid_t pgid, Function<bool(Process&)> callback)
|
||||
{
|
||||
ASSERT_INTERRUPTS_DISABLED();
|
||||
for (auto* process = g_processes->head(); process; process = process->next()) {
|
||||
for (auto* process = g_processes->head(); process;) {
|
||||
auto* next_process = process->next();
|
||||
if (process->pgid() == pgid) {
|
||||
if (!callback(*process))
|
||||
break;
|
||||
}
|
||||
process = next_process;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue