Bladeren bron

change: use schedule_noreturn() in syscall exit

greatbridf 2 jaren geleden
bovenliggende
commit
da154fd066
1 gewijzigde bestanden met toevoegingen van 2 en 6 verwijderingen
  1. 2 6
      src/kernel/syscall.cpp

+ 2 - 6
src/kernel/syscall.cpp

@@ -178,7 +178,7 @@ int _syscall_execve(interrupt_stack* data)
 }
 
 // @param exit_code
-int _syscall_exit(interrupt_stack* data)
+int NORETURN _syscall_exit(interrupt_stack* data)
 {
     uint32_t exit_code = data->s_regs.edi;
 
@@ -191,11 +191,7 @@ int _syscall_exit(interrupt_stack* data)
     procs->kill(current_process->pid, exit_code);
 
     // switch to new process and continue
-    schedule();
-
-    // we should not return to here
-    assert(false);
-    return -1;
+    schedule_noreturn();
 }
 
 // @param address of exit code: int*