aboutsummaryrefslogtreecommitdiff
path: root/kernel/proc/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/proc/proc.c')
-rw-r--r--kernel/proc/proc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/proc/proc.c b/kernel/proc/proc.c
index 7350acb..a1f68f8 100644
--- a/kernel/proc/proc.c
+++ b/kernel/proc/proc.c
@@ -268,7 +268,11 @@ void proc_cleanup(long status)
// update state and status
curproc->p_state = PROC_DEAD;
- curproc->p_status = status;
+ if (curthr->kt_cancelled) {
+ curproc->p_status = curthr->kt_retval;
+ } else {
+ curproc->p_status = status;
+ }
}
/*