Struct SignalFd
pub struct SignalFd(/* private field */);
A helper struct for creating, reading and closing a signalfd instance.
Important: please read the module level documentation about signal discarding before using this struct!
Examples
# use *;
// Set the thread to block the SIGUSR1 signal, otherwise the default handler will be used
let mut mask = empty;
mask.add;
mask.thread_block.unwrap;
// Signals are queued up on the file descriptor
let mut sfd = with_flags.unwrap;
match sfd.read_signal
Implementations
impl SignalFd
fn new(mask: &SigSet) -> Result<SignalFd>fn with_flags(mask: &SigSet, flags: SfdFlags) -> Result<SignalFd>fn set_mask(&self, mask: &SigSet) -> Result<()>fn read_signal(&self) -> Result<Option<siginfo>>unsafe fn from_owned_fd(fd: OwnedFd) -> SelfConstructs a
SignalFdwrapping an existingOwnedFd.Safety
OwnedFdis a validSignalFd.
Trait Implementations
impl AsFd for SignalFd
fn as_fd(&self) -> BorrowedFd<'_>
impl AsRawFd for SignalFd
fn as_raw_fd(&self) -> RawFd
impl Debug for SignalFd
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Iterator for SignalFd
type Item = signalfd_siginfo;fn next(&mut self) -> Option<Self::Item>
Auto Trait Implementations
impl Freeze for SignalFd
impl RefUnwindSafe for SignalFd
impl Send for SignalFd
impl Sync for SignalFd
impl Unpin for SignalFd
impl UnsafeUnpin for SignalFd
impl UnwindSafe for SignalFd
Blanket Implementations
impl<I> IntoIterator for SignalFd
where
I: Iterator,
type Item = <I as Iterator>::Item;type IntoIter = I;fn into_iter(self) -> I
impl<T> Any for SignalFd
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for SignalFd
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for SignalFd
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for SignalFd
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into<U> for SignalFd
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for SignalFd
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for SignalFd
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>