diff options
| author | namilsk <namilsk@namilsk.tech> | 2026-01-10 22:28:02 +0300 |
|---|---|---|
| committer | namilsk <namilsk@namilsk.tech> | 2026-01-10 22:28:02 +0300 |
| commit | df2a2b696d5fa70b630779940aed7a3ee33eaee8 (patch) | |
| tree | f7a855b5fb5cbd80ab98ad0cf80a5498d015c7ac /init/src/signals/sigchld.rs | |
| parent | d114acb6103706e56f7d2090569c354987033d7e (diff) | |
Fixed some security issues, `.wait()?` call for `udev`. Fixed one panic-possibility and started implementing killing zombie-processes funtional
Diffstat (limited to 'init/src/signals/sigchld.rs')
| -rw-r--r-- | init/src/signals/sigchld.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/init/src/signals/sigchld.rs b/init/src/signals/sigchld.rs new file mode 100644 index 0000000..78b72d4 --- /dev/null +++ b/init/src/signals/sigchld.rs @@ -0,0 +1,18 @@ +use libc::{signal, sighandler_t, SIGCHILD, SIG_DFL, SIG_IGN}; +use std::ffi::c_int; + +fn sigchild_handler(_signal: c_int) { + loop { + let mut status: c_int = 0; + ket pid: pid_t = unsafe { + waitpid(-1 , &mut status, WNOHANG) + }; + + if pid <= 0 { + break; + } + } + +} + + |
