summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kernel/proc.c4
-rw-r--r--src/kernel/proc.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c
index 02826d8..eea651f 100644
--- a/src/kernel/proc.c
+++ b/src/kernel/proc.c
@@ -12,7 +12,8 @@ struct process *process_seed() {
proc->pages = pagedir_new();
proc->state = PS_RUNNING;
proc->sibling = NULL;
- proc->child = NULL;
+ proc->child = NULL;
+ proc->parent = NULL;
process_first = proc;
@@ -37,6 +38,7 @@ struct process *process_fork(struct process *parent) {
child->pages = pagedir_copy(parent->pages);
child->sibling = parent->child;
child->child = NULL;
+ child->parent = parent;
parent->child = child;
return child;
diff --git a/src/kernel/proc.h b/src/kernel/proc.h
index 05ab66a..f50ab33 100644
--- a/src/kernel/proc.h
+++ b/src/kernel/proc.h
@@ -14,6 +14,7 @@ struct process {
struct process *sibling;
struct process *child;
+ struct process *parent;
};
extern struct process *process_first;