Mirror signal deaths from real-time signals
This commit is contained in:
+4
-6
@@ -194,12 +194,10 @@ pub fn exit_with_status(status: ExitStatus) -> ! {
|
||||
}
|
||||
|
||||
fn kill_self_with(number: i32) -> ! {
|
||||
if let Ok(signal) = Signal::try_from(number) {
|
||||
let _ = prctl::set_dumpable(false);
|
||||
let _ = unsafe { signal::signal(signal, SigHandler::SigDfl) };
|
||||
let _ = SigSet::from(signal).thread_unblock();
|
||||
let _ = signal::raise(signal);
|
||||
}
|
||||
let _ = prctl::set_dumpable(false);
|
||||
unsafe { libc::signal(number, libc::SIG_DFL) };
|
||||
let _ = to_sigset([number]).thread_unblock();
|
||||
unsafe { libc::raise(number) };
|
||||
|
||||
process::exit(128 + number)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user