Files
asterinas/services/libs/jinux-std/src/syscall/exit_group.rs
2023-09-03 19:03:22 +08:00

14 lines
445 B
Rust

use crate::process::TermStatus;
use crate::{log_syscall_entry, prelude::*};
use crate::syscall::{SyscallReturn, SYS_EXIT_GROUP};
/// Exit all thread in a process.
pub fn sys_exit_group(exit_code: u64) -> Result<SyscallReturn> {
log_syscall_entry!(SYS_EXIT_GROUP);
// Exit all thread in current process
let term_status = TermStatus::Exited(exit_code as _);
current!().exit_group(term_status);
Ok(SyscallReturn::Return(0))
}