Use shared_ptr for PageTable
This commit is contained in:
parent
e4afa8e512
commit
96432589bd
10 changed files with 34 additions and 33 deletions
|
@ -435,7 +435,7 @@ ResultCode Process::Unmap(VAddr target, VAddr source, u32 size, VMAPermission pe
|
|||
|
||||
Kernel::Process::Process(KernelSystem& kernel)
|
||||
: Object(kernel), handle_table(kernel), vm_manager(kernel.memory), kernel(kernel) {
|
||||
kernel.memory.RegisterPageTable(&vm_manager.page_table);
|
||||
kernel.memory.RegisterPageTable(vm_manager.page_table);
|
||||
}
|
||||
Kernel::Process::~Process() {
|
||||
// Release all objects this process owns first so that their potential destructor can do clean
|
||||
|
@ -444,7 +444,7 @@ Kernel::Process::~Process() {
|
|||
// memory etc.) even if they are still referenced by other processes.
|
||||
handle_table.Clear();
|
||||
|
||||
kernel.memory.UnregisterPageTable(&vm_manager.page_table);
|
||||
kernel.memory.UnregisterPageTable(vm_manager.page_table);
|
||||
}
|
||||
|
||||
std::shared_ptr<Process> KernelSystem::GetProcessById(u32 process_id) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue