diff options
author | dzwdz | 2022-04-15 23:04:58 +0200 |
---|---|---|
committer | dzwdz | 2022-04-15 23:04:58 +0200 |
commit | 26849aa2b3f49cbad8be4688800667e2d89aa5db (patch) | |
tree | 17bb2aab1d6ac714985b81c2d98fccf3ffa887fc /src/kernel/proc.c | |
parent | 6613d7e5f3c2e704a6812b0fbcaf79ade8d19980 (diff) |
kernel/vfs: don't hang waiting for a vfs backend after it exit()s
Diffstat (limited to 'src/kernel/proc.c')
-rw-r--r-- | src/kernel/proc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/kernel/proc.c b/src/kernel/proc.c index 3024957..ad2a72b 100644 --- a/src/kernel/proc.c +++ b/src/kernel/proc.c @@ -189,6 +189,10 @@ void process_transition(struct process *p, enum process_state state) { void process_kill(struct process *proc, int ret) { // TODO kill children + if (proc->handled_req) { + regs_savereturn(&proc->handled_req->caller->regs, -1); + process_transition(proc->handled_req->caller, PS_RUNNING); + } process_transition(proc, PS_DEAD); proc->death_msg = ret; process_try2collect(proc); |