Implement exit syscall
This commit is contained in:
@@ -127,12 +127,18 @@ syscall_dispatch(uintptr_t return_rsp, cpu_state ®s)
|
||||
cons->set_color();
|
||||
|
||||
pid_t pid = p->fork(return_rsp);
|
||||
if (pid == scheduler::get().current()->pid)
|
||||
pid = 0;
|
||||
regs.rax = pid;
|
||||
}
|
||||
break;
|
||||
|
||||
case syscall::exit:
|
||||
cons->set_color(11);
|
||||
cons->printf("\nProcess %u: Received EXIT syscall\n", p->pid);
|
||||
cons->set_color();
|
||||
p->exit(regs.rdi);
|
||||
return_rsp = s.schedule(return_rsp);
|
||||
break;
|
||||
|
||||
default:
|
||||
cons->set_color(9);
|
||||
cons->printf("\nReceived unknown syscall: %02x\n", call);
|
||||
|
||||
Reference in New Issue
Block a user