diff options
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/kernel/src/UserProcessScheduler.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/dev/kernel/src/UserProcessScheduler.cc b/dev/kernel/src/UserProcessScheduler.cc index 621c848b..51f3f962 100644 --- a/dev/kernel/src/UserProcessScheduler.cc +++ b/dev/kernel/src/UserProcessScheduler.cc @@ -244,7 +244,8 @@ const AffinityKind& USER_PROCESS::GetAffinity() noexcept { /** @brief Free heap tree. */ /***********************************************************************************/ -STATIC Void sched_free_ptr_tree(PROCESS_HEAP_TREE<VoidPtr>* memory_ptr_list) { +template <typename T> +STATIC Void sched_free_ptr_tree(T* memory_ptr_list) { // Deleting memory lists. Make sure to free all of them. while (memory_ptr_list) { if (memory_ptr_list->Entry) { @@ -284,6 +285,9 @@ Void USER_PROCESS::Exit(const Int32& exit_code) { sched_free_ptr_tree(this->HeapTree); this->HeapTree = nullptr; + sched_free_ptr_tree(this->FileTree); + this->FileTree = nullptr; + #ifdef __NE_VIRTUAL_MEMORY_SUPPORT__ hal_write_cr3(pd); #endif |
