From b3334449a6f1a524949d1b24e729084d7f124e7e Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Sat, 10 May 2025 20:03:34 +0200 Subject: [PATCH] reaper: setup deathsig in compositor --- src/utils/clone3.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/utils/clone3.rs b/src/utils/clone3.rs index 672d3256..b6ef0d0f 100644 --- a/src/utils/clone3.rs +++ b/src/utils/clone3.rs @@ -135,6 +135,7 @@ pub fn ensure_reaper() -> c::pid_t { if let Ok(id) = env::var(REAPER_VAR) { if let Ok(id) = c::pid_t::from_str(&id) { if uapi::getppid() == id { + set_deathsig(); return id; } } @@ -157,6 +158,7 @@ pub fn ensure_reaper() -> c::pid_t { unsafe { env::set_var(REAPER_VAR, reaper_pid.to_string()); } + set_deathsig(); return reaper_pid; }; set_process_name("jay reaper"); @@ -167,3 +169,9 @@ pub fn ensure_reaper() -> c::pid_t { } process::exit(1); } + +fn set_deathsig() { + unsafe { + c::prctl(c::PR_SET_PDEATHSIG, c::SIGKILL as c::c_ulong); + } +}