mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-23 09:23:25 +00:00
20 lines
478 B
Rust
20 lines
478 B
Rust
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
use super::signal::sig_num::SigNum;
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
pub enum TermStatus {
|
|
Exited(u8),
|
|
Killed(SigNum),
|
|
}
|
|
|
|
impl TermStatus {
|
|
/// Return as a 32-bit integer encoded as specified in wait(2) man page.
|
|
pub fn as_u32(&self) -> u32 {
|
|
match self {
|
|
TermStatus::Exited(status) => (*status as u32) << 8,
|
|
TermStatus::Killed(signum) => signum.as_u8() as u32,
|
|
}
|
|
}
|
|
}
|