[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH 3/4] kernel: Kindprozesse in destroy_task umhaengen



! kernel: Kindprozesse duerfen einen geloeschten Task nicht weiter
  referenzieren, deswegen werden sie jetzt an init vererbt.

Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
 src/kernel/src/task.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/kernel/src/task.c b/src/kernel/src/task.c
index 9f314eb..1a5b47a 100644
--- a/src/kernel/src/task.c
+++ b/src/kernel/src/task.c
@@ -278,6 +278,13 @@ void destroy_task(struct task* task_ptr)
         }
         previous_task->next_task = task_ptr->next_task;
     }
+
+    // Alle Kindprozesse an init weitervererben
+    for (next_task = first_task; next_task; next_task = next_task->next_task) {
+        if (next_task->parent_task == task_ptr) {
+            next_task->parent_task = get_task(1);
+        }
+    }
     
     
     // Melde das Beenden des Tasks per RPC an init
-- 
1.6.0.2