xv6

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 8c8b748a2f0f10188c1a58c529239fff3a3b1b01
parent b5dcebdbebcac9beb7efd6b27aeb390293dc8334
Author: rsc <rsc>
Date:   Thu, 27 Sep 2007 19:35:25 +0000

now spllo is okay

Diffstat:
Mtrap.c | 10++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/trap.c b/trap.c @@ -83,14 +83,8 @@ trap(struct trapframe *tf) cp->pid, cp->name, tf->trapno, tf->err, cpu(), tf->eip); cp->killed = 1; } - - // Undo splhi but do not enable interrupts. - // If you change this to spllo() you can get a - // triple fault by just typing too fast at the prompt. - // An interrupt stops us right here, and when that - // interrupt tries to return, somehow the segment - // registers are all invalid. - --cpus[cpu()].nsplhi; + + spllo(); // Force process exit if it has been killed and is in user space. // (If it is still executing in the kernel, let it keep running