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