# process.rs - source
Source of the Rust file `src/syscall/process.rs`.
Keywords: rust, rustlang, rust-lang

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15

    //! Process management syscalls
    use crate::task::{exit_current_and_run_next, suspend_current_and_run_next};

    /// task exits and submit an exit code
    pub fn sys_exit(exit_code: i32) -> ! {
        println!("[kernel] Application exited with code {}", exit_code);
        exit_current_and_run_next();
        panic!("Unreachable in sys_exit!");
    }

    /// current task gives up resources for other tasks
    pub fn sys_yield() -> isize {
        suspend_current_and_run_next();
        0
    }