use crate::system::interface::ProcessId;
use super::SignalNumber;
#[repr(transparent)]
pub(crate) struct SignalInfo {
info: libc::siginfo_t,
}
impl SignalInfo {
pub(super) const SIZE: usize = std::mem::size_of::<Self>();
pub(crate) fn is_user_signaled(&self) -> bool {
self.info.si_code <= 0
}
pub(crate) fn pid(&self) -> ProcessId {
unsafe { self.info.si_pid() }
}
pub(crate) fn signal(&self) -> SignalNumber {
self.info.si_signo
}
}