//! App management syscalls // use crate::batch::run_next_app; use crate::println; use crate::task::{exit_current_and_run_next, suspend_current_and_run_next}; use crate::timer::get_time_ms; /// 任务退出, 并立即切换任务 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!"); } pub fn sys_yield() -> isize { suspend_current_and_run_next(); 0 } pub fn sys_get_time() -> isize { get_time_ms() as isize }