summaryrefslogtreecommitdiff
path: root/src/kernel/proc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/proc.h')
-rw-r--r--src/kernel/proc.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/kernel/proc.h b/src/kernel/proc.h
index 5d95b52..d437b8c 100644
--- a/src/kernel/proc.h
+++ b/src/kernel/proc.h
@@ -12,9 +12,7 @@ enum proc_state {
PS_DYING, /* during proc_kill - mostly treated as alive */
PS_TOREAP, /* return message not collected */
PS_TOMBSTONE, /* fully dead, supports alive children */
- /* not in the process tree, waits for free.
- * *sibling holds a linked list of all the FORGOTTEN processes */
- PS_FORGOTTEN,
+ PS_DEADLEAF,
PS_FREED, /* only meant to detect double frees */
PS_WAITS4CHILDDEATH,
@@ -29,7 +27,7 @@ enum proc_state {
#define proc_alive(p) (p \
&& p->state != PS_TOREAP \
&& p->state != PS_TOMBSTONE \
- && p->state != PS_FORGOTTEN \
+ && p->state != PS_DEADLEAF \
&& p->state != PS_FREED \
)
@@ -64,6 +62,7 @@ struct Proc {
uint64_t goal;
Proc *next;
} waits4timer;
+ Proc *deadleaf_next;
};
VfsMount *mount;
@@ -117,8 +116,6 @@ Proc *proc_ns_next(Proc *ns, Proc *p);
void proc_ns_create(Proc *proc);
void proc_kill(Proc *proc, int ret);
-/** Kills all descendants. */
-void proc_filicide(Proc *proc, int ret);
/** Tries to reap a dead process / free a tombstone. */
void proc_tryreap(Proc *dead);