pub fn read_sigmask_from_process(&self) -> sig_set_t {
        // During syscall interruptions, PTRACE_GETSIGMASK may return the sigmask that is going
        // to be restored, not the kernel's current (internal) sigmask, which is what
        // /proc/.../status reports. Always go with what /proc/.../status reports. See
        // https://github.com/torvalds/linux/commit/fcfc2aa0185f4a731d05a21e9f359968fdfd02e7
        if !self.at_may_restart_syscall() {
            let mut mask: sig_set_t = Default::default();
            let ret = self.fallible_ptrace(
                PTRACE_GETSIGMASK,
                RemotePtr::<Void>::from(size_of::<sig_set_t>()),
                PtraceData::WriteInto(u8_raw_slice_mut(&mut mask)),
            );
            if ret >= 0 {
                return mask;
            }
        }

        let mut results = read_proc_status_fields(self.tid, &[b"SigBlk"]).unwrap();
        ed_assert!(self, results.len() == 1);

        let res = u64::from_str_radix(&results.pop().unwrap().into_string().unwrap(), 16).unwrap();
        res
    }
/// Just get the signal mask of the process.
Just get the signal mask of the process.
Just get the signal mask of the process .
pub fn read_sigmask_from_process(&self) -> sig_set_t {
        // During syscall interruptions, PTRACE_GETSIGMASK may return the sigmask that is going
        // to be restored, not the kernel's current (internal) sigmask, which is what
        // /proc/.../status reports. Always go with what /proc/.../status reports. See
        // https://github.com/torvalds/linux/commit/fcfc2aa0185f4a731d05a21e9f359968fdfd02e7
        if !self.at_may_restart_syscall() {
            let mut mask: sig_set_t = Default::default();
            let ret = self.fallible_ptrace(
                PTRACE_GETSIGMASK,
                RemotePtr::<Void>::from(size_of::<sig_set_t>()),
                PtraceData::WriteInto(u8_raw_slice_mut(&mut mask)),
            );
            if ret >= 0 {
                return mask;
            }
        }
        let mut results = read_proc_status_fields(self.tid, &[b"SigBlk"]).unwrap();
        ed_assert!(self, results.len() == 1);
        let res = u64::from_str_radix(&results.pop().unwrap().into_string().unwrap(), 16).unwrap();
        res
    }
pub fn read_sigmask_from_process ( & self ) -> sig_set_t { // During syscall interruptions, PTRACE_GETSIGMASK may return the sigmask that is going // to be restored, not the kernel's current (internal) sigmask, which is what // /proc/.../status reports. Always go with what /proc/.../status reports. See // https://github.com/torvalds/linux/commit/fcfc2aa0185f4a731d05a21e9f359968fdfd02e7 if ! self . at_may_restart_syscall ( ) { let mut mask : sig_set_t = Default :: default ( ) ; let ret = self . fallible_ptrace ( PTRACE_GETSIGMASK , RemotePtr :: < Void > :: from ( size_of :: < sig_set_t > ( ) ) , PtraceData :: WriteInto ( u8_raw_slice_mut ( & mut mask ) ) , ) ; if ret >= 0 { return mask ; } } let mut results = read_proc_status_fields ( self . tid , & [ b" " ] ) . unwrap ( ) ; ed_assert ! ( self results len ( ) 1 ) ; let res = u64 :: from_str_radix ( & results . pop ( ) . unwrap ( ) . into_string ( ) . unwrap ( ) , 16 ) . unwrap ( ) ; res }
Just get the signal mask of the process.
Just get the signal mask of the process .
&self