summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-06-30 23:38:27 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-06-30 23:38:27 +0200
commit38bf99758a949f52a4cff7849a6bfaeba2eec1c3 (patch)
treeca23c229ccc9bf8a661c570fd83de2a2f1dfd740 /dev/kernel/src
parentb3c3b0f62331a695fb7c90c386c15396b6607575 (diff)
feat: FileTree `free` support.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/src')
-rw-r--r--dev/kernel/src/UserProcessScheduler.cc6
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