1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:48:11 +00:00

Kernel: Split InodeVMObject into two subclasses

We now have PrivateInodeVMObject and SharedInodeVMObject, corresponding
to MAP_PRIVATE and MAP_SHARED respectively.

Note that PrivateInodeVMObject is not used yet.
This commit is contained in:
Andreas Kling 2020-02-28 20:20:35 +01:00
parent 07a26aece3
commit 651417a085
9 changed files with 371 additions and 166 deletions

View file

@ -663,12 +663,12 @@ int Process::sys$purge(int mode)
}
}
if (mode & PURGE_ALL_CLEAN_INODE) {
NonnullRefPtrVector<SharedInodeVMObject> vmobjects;
NonnullRefPtrVector<InodeVMObject> vmobjects;
{
InterruptDisabler disabler;
MM.for_each_vmobject([&](auto& vmobject) {
if (vmobject.is_inode())
vmobjects.append(static_cast<SharedInodeVMObject&>(vmobject));
vmobjects.append(static_cast<InodeVMObject&>(vmobject));
return IterationDecision::Continue;
});
}