mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:38:11 +00:00
Kernel: Merge PurgeableVMObject into AnonymousVMObject
This implements memory commitments and lazy-allocation of committed memory.
This commit is contained in:
parent
b2a52f6208
commit
476f17b3f1
35 changed files with 937 additions and 564 deletions
|
@ -104,13 +104,17 @@ pid_t Process::sys$fork(RegisterState& regs)
|
|||
|
||||
ScopedSpinLock processes_lock(g_processes_lock);
|
||||
g_processes->prepend(child);
|
||||
child->ref(); // This reference will be dropped by Process::reap
|
||||
}
|
||||
|
||||
ScopedSpinLock lock(g_scheduler_lock);
|
||||
child_first_thread->set_affinity(Thread::current()->affinity());
|
||||
child_first_thread->set_state(Thread::State::Runnable);
|
||||
return child->pid().value();
|
||||
|
||||
auto child_pid = child->pid().value();
|
||||
// We need to leak one reference so we don't destroy the Process,
|
||||
// which will be dropped by Process::reap
|
||||
(void)child.leak_ref();
|
||||
return child_pid;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue