From 78247c8525d714f4de21da815ecf0d766462bb03 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Wed, 3 Jul 2024 16:59:09 +0200 Subject: [PATCH] Pass signal correctly to SYS_KILL. --- redox-rt/src/signal.rs | 4 ++-- src/platform/redox/mod.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/redox-rt/src/signal.rs b/redox-rt/src/signal.rs index f99f39ebc..3c21bde1a 100644 --- a/redox-rt/src/signal.rs +++ b/redox-rt/src/signal.rs @@ -67,7 +67,7 @@ unsafe fn inner(stack: &mut SigStack) { panic!("ctl {:x?} signal {}", os.control, stack.sig_num) } SigactionKind::Default => { - syscall::exit(stack.sig_num << 8); + syscall::exit(stack.sig_num); unreachable!(); } SigactionKind::Handled { handler } => handler, @@ -344,7 +344,7 @@ bitflags::bitflags! { const STORED_FLAGS: u32 = 0xfe00_0000; fn default_handler(sig: c_int) { - syscall::exit((sig as usize) << 8); + syscall::exit(sig as usize); } #[derive(Clone, Copy)] diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs index 83a5cbbe1..c1d3b645f 100644 --- a/src/platform/redox/mod.rs +++ b/src/platform/redox/mod.rs @@ -217,7 +217,7 @@ impl Pal for Sys { } fn exit(status: c_int) -> ! { - let _ = syscall::exit(status as usize); + let _ = syscall::exit((status as usize) << 8); loop {} } -- GitLab