diff options
Diffstat (limited to 'dev/kernel/KernelKit/UserProcessScheduler.inl')
| -rw-r--r-- | dev/kernel/KernelKit/UserProcessScheduler.inl | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/dev/kernel/KernelKit/UserProcessScheduler.inl b/dev/kernel/KernelKit/UserProcessScheduler.inl index 2333b898..df35e037 100644 --- a/dev/kernel/KernelKit/UserProcessScheduler.inl +++ b/dev/kernel/KernelKit/UserProcessScheduler.inl @@ -11,13 +11,17 @@ /// @author Amlal El Mahrouss (amlal@nekernel.org) /// @date Tue Apr 22 22:01:07 CEST 2025 +#ifndef INC_PROCESS_SCHEDULER_H +#include <KernelKit/UserProcessScheduler.h> +#endif // INC_PROCESS_SCHEDULER_H + namespace Kernel { /***********************************************************************************/ /** @brief Free pointer from usage. */ /***********************************************************************************/ template <typename T> -Boolean USER_PROCESS::Delete(ErrorOr<T*> ptr) { +BOOL USER_PROCESS::Delete(ErrorOr<T*> ptr) { if (!ptr) return No; if (!this->HeapTree) { @@ -25,30 +29,30 @@ Boolean USER_PROCESS::Delete(ErrorOr<T*> ptr) { return No; } - USER_HEAP_TREE* entry = this->HeapTree; + PROCESS_HEAP_TREE<VoidPtr>* entry = this->HeapTree; while (entry != nullptr) { - if (entry->MemoryEntry == ptr.Leak().Leak()) { - this->UsedMemory -= entry->MemoryEntrySize; + if (entry->Entry == ptr.Leak().Leak()) { + this->UsedMemory -= entry->EntrySize; #ifdef __NE_AMD64__ auto pd = hal_read_cr3(); hal_write_cr3(this->VMRegister); - auto ret = mm_delete_heap(entry->MemoryEntry); + auto ret = mm_free_ptr(entry->Entry); hal_write_cr3(pd); return ret == kErrorSuccess; #else - Bool ret = mm_delete_heap(ptr.Leak().Leak()); + Bool ret = mm_free_ptr(ptr.Leak().Leak()); return ret == kErrorSuccess; #endif } - entry = entry->MemoryNext; + entry = entry->Next; } kout << "USER_PROCESS: Trying to free a pointer which doesn't exist.\r"; |
