From add9905af1b34d6592903c591177f37cc23e4f0d Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sun, 8 Jun 2025 23:55:59 -0400 Subject: kernel: spawn: Return process exit status on fail Signed-off-by: Ian Moffett --- sys/kern/kern_spawn.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sys') diff --git a/sys/kern/kern_spawn.c b/sys/kern/kern_spawn.c index 4105668..4ec1bfb 100644 --- a/sys/kern/kern_spawn.c +++ b/sys/kern/kern_spawn.c @@ -153,6 +153,7 @@ spawn(struct proc *cur, void(*func)(void), void *p, int flags, struct proc **new atomic_inc_int(&cur->nleaves); newproc->parent = cur; newproc->data = p; + newproc->exit_status = -1; /* Initialize the mmap ledger */ mlgdr->nbytes = 0; @@ -177,6 +178,10 @@ spawn(struct proc *cur, void(*func)(void), void *p, int flags, struct proc **new panic("possibly memory corruption\n"); } + if (newproc->exit_status < 0) { + pid = newproc->exit_status; + } + proc_reap(newproc); } -- cgit v1.2.3