/DragonOS/kernel/src/ipc/ |
H A D | signal_types.rs | 121 sinfo: *mut SigInfo, 302 pub struct SigInfo { struct 309 impl SigInfo { argument 328 pub fn copy_siginfo_to_user(&self, to: *mut SigInfo) -> Result<i32, SystemError> { in copy_siginfo_to_user() 330 let mut user_buffer = UserBufferWriter::new(to, size_of::<SigInfo>(), true)?; in copy_siginfo_to_user() 352 impl SigInfo { implementation 418 pub fn collect_signal(&mut self, sig: Signal) -> SigInfo { in collect_signal() argument 430 let mut ret = SigInfo::new(sig, 0, SigCode::User, SigType::Kill(Pid::from(0))); in collect_signal() 438 pub fn dequeue_signal(&mut self, sig_mask: &SigSet) -> (Signal, Option<SigInfo>) { in dequeue_signal() argument 443 let info: Option<SigInfo> = if sig != Signal::INVALID { in dequeue_signal() [all …]
|
H A D | signal.rs | 15 SaHandlerType, SigInfo, SigType, Sigaction, SignalStruct, SIG_KERNEL_STOP_MASK, 57 info: Option<&mut SigInfo>, in send_signal_info() argument 99 info: Option<&mut SigInfo>, in send_signal() argument 144 SigInfo::new( in send_signal()
|
H A D | syscall.rs | 39 SaHandlerType, SigInfo, SigType, Sigaction, SigactionType, UserSigaction, USER_SIG_DFL, 104 let mut info = SigInfo::new(sig, 0, SigCode::User, SigType::Kill(pid)); in kill()
|
/DragonOS/kernel/src/process/ |
H A D | timer.rs | 6 use crate::process::SigInfo; 133 let mut info = SigInfo::new(sig, 0, SigCode::Timer, SigType::Alarm(self.pid)); in run()
|
H A D | mod.rs | 34 ipc::signal_types::{SigInfo, SigPending, SignalStruct}, 1573 pub fn dequeue_signal(&mut self, sig_mask: &SigSet) -> (Signal, Option<SigInfo>) { in dequeue_signal() argument
|
/DragonOS/kernel/src/arch/x86_64/ipc/ |
H A D | signal.rs | 16 signal_types::{SaHandlerType, SigInfo, Sigaction, SigactionType, SignalArch}, 325 pub info: SigInfo, 435 let mut info: Option<SigInfo>; in do_signal() 539 info: &SigInfo, in handle_signal() argument 555 info: &SigInfo, in setup_frame() argument 638 info.copy_siginfo_to_user(unsafe { &mut ((*frame).info) as *mut SigInfo }) in setup_frame() 670 trap_frame.rsi = unsafe { &(*frame).info as *const SigInfo as u64 }; in setup_frame() constant
|
/DragonOS/kernel/src/arch/x86_64/mm/ |
H A D | fault.rs | 18 ipc::signal_types::{SigInfo, SigType}, 245 SigInfo::new(Signal::SIGSEGV, 0, SigCode::User, SigType::Kill(pid)); in do_user_addr_fault() 276 SigInfo::new(Signal::SIGSEGV, 0, SigCode::User, SigType::Kill(pid)); in do_user_addr_fault()
|