/DragonOS/kernel/src/ipc/ |
H A D | signal_types.rs | 120 sig: ::core::ffi::c_int, 353 pub fn new(sig: Signal, sig_errno: i32, sig_code: SigCode, sig_type: SigType) -> Self { in new() 355 sig_no: sig as i32, in new() 396 let mut sig = Signal::INVALID; in next_signal() localVariable 404 sig = Signal::from(ffz(x.complement().bits()) + 1); in next_signal() 405 return sig; in next_signal() 411 return sig; in next_signal() 418 pub fn collect_signal(&mut self, sig: Signal) -> SigInfo { in collect_signal() 419 let (info, still_pending) = self.queue_mut().find_and_delete(sig); in collect_signal() 423 self.signal_mut().remove(sig.into()); in collect_signal() [all …]
|
H A D | syscall.rs | 95 pub fn kill(pid: Pid, sig: c_int) -> Result<usize, SystemError> { in kill() 96 let sig = Signal::from(sig); in kill() localVariable 97 if sig == Signal::INVALID { in kill() 104 let mut info = SigInfo::new(sig, 0, SigCode::User, SigType::Kill(pid)); in kill() 108 let retval = sig in kill() 129 sig: c_int, in sigaction() 184 sig in sigaction() 191 let sig = Signal::from(sig); in sigaction() localVariable 193 if sig == Signal::INVALID { in sigaction() 198 sig, in sigaction()
|
H A D | signal.rs | 381 sig: Signal, in do_sigaction() 385 if sig == Signal::INVALID { in do_sigaction() 390 let action: &mut Sigaction = &mut pcb.sig_struct().handlers[sig as usize - 1]; in do_sigaction() 436 mask.insert(sig.into()); in do_sigaction()
|
/DragonOS/kernel/crates/unified-init/macros/src/ |
H A D | lib.rs | 62 generate_unified_initializer(&function, target_slice, function.sig.ident.to_string())?; in do_unified_init() 83 if !function.sig.inputs.is_empty() { in check_function_signature() 85 function.sig.inputs.span(), in check_function_signature() 90 if let syn::ReturnType::Type(_, ty) = &function.sig.output { in check_function_signature() 155 function.sig.output.span(), in check_function_signature() 174 let initializer_name_ident = syn::Ident::new(&initializer_name, function.sig.ident.span()); in generate_unified_initializer() 176 let function_ident = &function.sig.ident; in generate_unified_initializer()
|
/DragonOS/user/apps/test_signal/ |
H A D | main.c | 27 void handler(int sig) in handler() argument 29 printf("handle %d\n", sig); in handler()
|
/DragonOS/kernel/src/arch/riscv64/ipc/ |
H A D | signal.rs | 302 fn sig_terminate(sig: Signal) { in sig_terminate() 303 ProcessManager::exit(sig as usize); in sig_terminate() 307 fn sig_terminate_dump(sig: Signal) { in sig_terminate_dump() 308 ProcessManager::exit(sig as usize); in sig_terminate_dump() 313 fn sig_stop(sig: Signal) { in sig_stop() 320 sig in sig_stop() 329 fn sig_continue(sig: Signal) { in sig_continue() 334 sig in sig_continue()
|
/DragonOS/kernel/src/arch/x86_64/ipc/ |
H A D | signal.rs | 537 sig: Signal, in handle_signal() 546 return setup_frame(sig, sigaction, info, oldset, frame); in handle_signal() 553 sig: Signal, in setup_frame() 564 sig.handle_default(); in setup_frame() 571 if sig == Signal::SIGSEGV { in setup_frame() 572 sig.handle_default(); in setup_frame() 576 sig.handle_default(); in setup_frame() 587 sig as i32 in setup_frame() 669 trap_frame.rdi = sig as u64; in setup_frame() 699 fn sig_terminate(sig: Signal) { in sig_terminate() [all …]
|
/DragonOS/ |
H A D | triagebot.toml | 134 sig-mm = ["@dragonos/mm"] 136 sig-obs = [ 137 "@dragonos/sig-observation-testing", 170 "/kernel/crates/rbpf" = ["sig-obs"] 171 "/kernel/crates/kprobe" = ["sig-obs"] 172 "/kernel/src/debug/kprobe" = ["sig-obs"] 173 "/kernel/src/bpf" = ["sig-obs"]
|
/DragonOS/kernel/src/driver/tty/ |
H A D | tty_job_control.rs | 35 pub fn tty_check_change(tty: Arc<TtyCore>, sig: Signal) -> Result<(), SystemError> { in tty_check_change() 55 .contains(SigSet::from_bits_truncate(1 << sig as u64)) in tty_check_change() 56 || pcb.sig_struct_irqsave().handlers[sig as usize].is_ignore() in tty_check_change() 59 if sig == Signal::SIGTTIN { in tty_check_change() 64 Syscall::kill(pgid, sig as i32)?; in tty_check_change()
|
/DragonOS/kernel/src/process/ |
H A D | timer.rs | 131 let sig = Signal::SIGALRM; in run() localVariable 133 let mut info = SigInfo::new(sig, 0, SigCode::Timer, SigType::Alarm(self.pid)); in run() 137 let _retval = sig in run()
|
/DragonOS/kernel/src/driver/disk/ahci/ |
H A D | hba.rs | 55 pub sig: u32, // 0x24, signature field 134 let sig = volatile_read!(self.sig); in check_type() localVariable 135 match sig { in check_type() 140 _ => HbaPortType::Unknown(sig), in check_type()
|
/DragonOS/docs/kernel/ipc/ |
H A D | signal.md | 64 │ sig handler │ └────────────┘ │ frame. │
|
/DragonOS/kernel/crates/rbpf/src/ |
H A D | cranelift.rs | 118 let sig = Signature { in compile_function() localVariable 131 .declare_function(name, Linkage::Local, &sig) in compile_function() 135 ctx.func = Function::with_name_signature(UserFuncName::testcase(name.as_bytes()), sig); in compile_function() 181 let sig = Signature { in build_function_prelude() localVariable 194 .declare_function(&name, Linkage::Import, &sig) in build_function_prelude()
|
/DragonOS/kernel/src/syscall/ |
H A D | mod.rs | 406 let sig = args[1] as c_int; in handle() localVariable 408 Self::kill(pid, sig) in handle() 412 let sig = args[0] as c_int; in handle() localVariable 415 Self::sigaction(sig, act, old_act, frame.is_from_user()) in handle()
|