Home
last modified time | relevance | path

Searched refs:Signal (Results 1 – 18 of 18) sorted by relevance

/DragonOS/kernel/src/arch/riscv64/ipc/
H A Dsignal.rs16 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 Dsignal_types.rs15 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 Dsignal.rs8 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 Dsyscall.rs11 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 Dsignal.rs33 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 Dsignal.md1 # Signal信号
30 │ Send Signal ├────►Add to sigpending of│
/DragonOS/kernel/src/driver/tty/
H A Dtty_job_control.rs5 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 Dtty_device.rs9 arch::ipc::signal::Signal,
357 TtyJobCtrlManager::tty_check_change(tty.clone(), Signal::SIGTTOU)?; in ioctl()
/DragonOS/tools/debugging/logmonitor/src/
H A Dapp.rs24 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 Dfault.rs13 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 Dtimer.rs1 use crate::arch::ipc::signal::{SigCode, Signal};
131 let sig = Signal::SIGALRM; in run()
H A Dfork.rs9 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 Dexit.rs9 ipc::signal::{SigChildCode, Signal},
194 status: Signal::SIGCONT as i32, in do_waitpid()
H A Dmod.rs24 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 Dwait_queue.rs9 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 Dntty.rs10 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 DV0.1.2.md34 - Signal: 允许用户注册信号处理函数,能够进入自定义的handler。(#112)
H A DV0.1.9.md1492 Signal refactor (#402)