summaryrefslogtreecommitdiff
path: root/trap.c
diff options
context:
space:
mode:
Diffstat (limited to 'trap.c')
-rw-r--r--trap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/trap.c b/trap.c
index 39ff61d..47739ac 100644
--- a/trap.c
+++ b/trap.c
@@ -57,9 +57,12 @@ usertrap(void)
} else {
printf("usertrap(): unexpected scause 0x%x pid=%d\n", r_scause(), p->pid);
printf(" sepc=%p stval=%p\n", r_sepc(), r_stval());
- panic("usertrap");
+ p->killed = 1;
}
+ if(p->killed)
+ exit();
+
usertrapret();
}