/DragonOS/kernel/src/arch/riscv64/ipc/ |
H A D | signal.rs | 16 pub enum Signal { enum 60 impl PartialEq for Signal { implementation 61 fn eq(&self, other: &Signal) -> bool { in eq() 66 impl From<usize> for Signal { implementation 69 let ret: Signal = unsafe { core::mem::transmute(value) }; in from() 73 return Signal::INVALID; in from() 78 impl Into<usize> for Signal { implementation 84 impl From<i32> for Signal { implementation 88 return Signal::INVALID; in from() 95 impl Into<SigSet> for Signal { implementation [all …]
|
/DragonOS/kernel/src/ipc/ |
H A D | signal_types.rs | 15 ipc::signal::{SigCode, SigFlags, SigSet, Signal, MAX_SIG_NUM}, 33 Signal::into_sigset(Signal::SIGSTOP).union(Signal::into_sigset(Signal::SIGKILL)); 35 pub const SIG_KERNEL_STOP_MASK: SigSet = Signal::into_sigset(Signal::SIGSTOP) 36 .union(Signal::into_sigset(Signal::SIGTSTP)) 37 .union(Signal::into_sigset(Signal::SIGTTIN)) 38 .union(Signal::into_sigset(Signal::SIGTTOU)); 40 pub const SIG_KERNEL_COREDUMP_MASK: SigSet = Signal::into_sigset(Signal::SIGQUIT) 41 .union(Signal::into_sigset(Signal::SIGILL)) 42 .union(Signal::into_sigset(Signal::SIGTRAP)) 43 .union(Signal::into_sigset(Signal::SIGABRT_OR_IOT)) [all …]
|
H A D | signal.rs | 8 arch::ipc::signal::{SigCode, SigFlags, SigSet, Signal}, 18 impl Signal { implementation 41 .contains(Signal::SIGKILL.into()) in fatal_signal_pending() 126 if matches!(self, Signal::SIGKILL) || pcb.flags().contains(ProcessFlags::KTHREAD) { in send_signal() 212 signal_wake_up(target_pcb.clone(), guard, *self == Signal::SIGKILL); in complete_signal() 231 if *self == Signal::SIGKILL { in wants_signal() 275 flush = Signal::SIGCONT.into_sigset(); in prepare_sianal() 280 } else if *self == Signal::SIGCONT { in prepare_sianal() 381 sig: Signal, in do_sigaction() argument 385 if sig == Signal::INVALID { in do_sigaction() [all …]
|
H A D | syscall.rs | 11 ipc::signal::{SigCode, SigFlags, SigSet, Signal}, 96 let sig = Signal::from(sig); in kill() 97 if sig == Signal::INVALID { in kill() 191 let sig = Signal::from(sig); in sigaction() 193 if sig == Signal::INVALID { in sigaction()
|
/DragonOS/kernel/src/arch/x86_64/ipc/ |
H A D | signal.rs | 33 pub enum Signal { enum 77 impl PartialEq for Signal { implementation 78 fn eq(&self, other: &Signal) -> bool { in eq() 83 impl From<usize> for Signal { implementation 86 let ret: Signal = unsafe { core::mem::transmute(value) }; in from() 90 return Signal::INVALID; in from() 95 impl From<Signal> for usize { 96 fn from(val: Signal) -> Self { in from() 101 impl From<i32> for Signal { implementation 105 return Signal::INVALID; in from() [all …]
|
/DragonOS/docs/kernel/ipc/ |
H A D | signal.md | 1 # Signal信号 30 │ Send Signal ├────►Add to sigpending of│
|
/DragonOS/kernel/src/driver/tty/ |
H A D | tty_job_control.rs | 5 arch::ipc::signal::{SigSet, Signal}, 35 pub fn tty_check_change(tty: Arc<TtyCore>, sig: Signal) -> Result<(), SystemError> { in tty_check_change() 59 if sig == Signal::SIGTTIN { in tty_check_change() 75 match Self::tty_check_change(tty.clone(), Signal::SIGTTOU) { in job_ctrl_ioctl()
|
H A D | tty_device.rs | 9 arch::ipc::signal::Signal, 357 TtyJobCtrlManager::tty_check_change(tty.clone(), Signal::SIGTTOU)?; in ioctl()
|
/DragonOS/tools/debugging/logmonitor/src/ |
H A D | app.rs | 24 pub memory_log_sparkline: Signal<RandomSignal>, 37 let sparkline = Signal { in new() 130 pub struct Signal<S: Iterator> { struct 136 impl<S> Signal<S> argument
|
/DragonOS/kernel/src/arch/x86_64/mm/ |
H A D | fault.rs | 13 ipc::signal::{SigCode, Signal}, 245 SigInfo::new(Signal::SIGSEGV, 0, SigCode::User, SigType::Kill(pid)); in do_user_addr_fault() 246 Signal::SIGSEGV in do_user_addr_fault() 276 SigInfo::new(Signal::SIGSEGV, 0, SigCode::User, SigType::Kill(pid)); in do_user_addr_fault() 277 Signal::SIGSEGV in do_user_addr_fault()
|
/DragonOS/kernel/src/process/ |
H A D | timer.rs | 1 use crate::arch::ipc::signal::{SigCode, Signal}; 131 let sig = Signal::SIGALRM; in run()
|
H A D | fork.rs | 9 arch::{interrupt::TrapFrame, ipc::signal::Signal}, 102 pub exit_signal: Signal, 129 exit_signal: Signal::SIGCHLD, in new() 174 args.exit_signal = Signal::SIGCHLD; in fork() 508 pcb.exit_signal.store(Signal::INVALID, Ordering::SeqCst); in copy_process()
|
H A D | exit.rs | 9 ipc::signal::{SigChildCode, Signal}, 194 status: Signal::SIGCONT as i32, in do_waitpid()
|
H A D | mod.rs | 24 ipc::signal::{AtomicSignal, SigSet, Signal}, 366 let r = Syscall::kill(parent_pcb.pid(), Signal::SIGCHLD as i32); in exit_notify() 745 exit_signal: AtomicSignal::new(Signal::SIGCHLD), in do_create_pcb() 1573 pub fn dequeue_signal(&mut self, sig_mask: &SigSet) -> (Signal, Option<SigInfo>) { in dequeue_signal() argument 1575 if res.0 != Signal::INVALID { in dequeue_signal()
|
/DragonOS/kernel/src/libs/ |
H A D | wait_queue.rs | 9 arch::{ipc::signal::Signal, CurrentIrqArch}, 39 if Signal::signal_pending_state(interruptible, false, &pcb) { in prepare_to_wait_event()
|
/DragonOS/kernel/src/driver/tty/tty_ldisc/ |
H A D | ntty.rs | 10 arch::ipc::signal::Signal, 414 self.recv_sig_char(tty.clone(), &termios, Signal::SIGINT, c); in receive_special_char() 419 self.recv_sig_char(tty.clone(), &termios, Signal::SIGQUIT, c); in receive_special_char() 424 self.recv_sig_char(tty.clone(), &termios, Signal::SIGTSTP, c); in receive_special_char() 764 signal: Signal, in recv_sig_char() argument 785 signal: Signal, in input_signal() argument 1625 TtyJobCtrlManager::tty_check_change(tty.clone(), Signal::SIGTTIN)?; in read() 1759 TtyJobCtrlManager::tty_check_change(tty.clone(), Signal::SIGTTOU)?; in write()
|
/DragonOS/docs/community/ChangeLog/V0.1.x/ |
H A D | V0.1.2.md | 34 - Signal: 允许用户注册信号处理函数,能够进入自定义的handler。(#112)
|
H A D | V0.1.9.md | 1492 Signal refactor (#402)
|