#[repr(C)]pub struct SignalAction {
pub __sa_handler: __SaHandler,
pub sa_mask: u64,
pub sa_flags: c_int,
pub sa_restorer: *mut extern "C" fn(),
}Expand description
Linux/POSIX 信号处理动作结构体 (struct sigaction)
Fields§
§__sa_handler: __SaHandlerC: union { ... } __sa_handler
包含单参数或三参数信号处理函数指针。
sa_mask: u64C: sigset_t sa_mask
信号屏蔽字,在执行处理函数时将被自动添加到线程的阻塞集中。
sa_flags: c_intC: int sa_flags
信号处理行为标志 (如 SA_SIGINFO, SA_RESETHAND)。
注意:这里使用 i32 或 c_int 更符合 C 的 int 类型。
sa_restorer: *mut extern "C" fn()C: void (*sa_restorer)(void)
信号恢复函数指针。通常由 C 库设置,用于从信号处理器返回。
Implementations§
Source§impl SignalAction
impl SignalAction
Sourcepub unsafe fn sa_handler(&self) -> *mut extern "C" fn(c_int)
pub unsafe fn sa_handler(&self) -> *mut extern "C" fn(c_int)
获取单参数信号处理器。 这是一个不安全操作,因为它访问联合体字段。
Sourcepub unsafe fn sa_sigaction(
&self,
) -> *mut extern "C" fn(c_int, *const SigInfoT, *mut c_void)
pub unsafe fn sa_sigaction( &self, ) -> *mut extern "C" fn(c_int, *const SigInfoT, *mut c_void)
获取三参数信号处理器。 这是一个不安全操作,因为它访问联合体字段。
Sourcepub fn is_siginfo(&self) -> bool
pub fn is_siginfo(&self) -> bool
安全地检查是否设置了 SA_SIGINFO 标志。
Trait Implementations§
Source§impl Clone for SignalAction
impl Clone for SignalAction
Source§fn clone(&self) -> SignalAction
fn clone(&self) -> SignalAction
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SignalAction
impl Debug for SignalAction
Source§impl Default for SignalAction
impl Default for SignalAction
impl Copy for SignalAction
Auto Trait Implementations§
impl Freeze for SignalAction
impl RefUnwindSafe for SignalAction
impl !Send for SignalAction
impl !Sync for SignalAction
impl Unpin for SignalAction
impl UnwindSafe for SignalAction
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)