diff --git a/redox-rt/src/signal.rs b/redox-rt/src/signal.rs index f99f39ebce7c465db390bfae5129db68f5ee7330..3c21bde1a3d932ad08e188707f4b195de3dfd403 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 83a5cbbe1b9817b2fb57c772421d15dd4c5b87bd..c1d3b645f3b9788c6f8434d04a498a58423849b1 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 {} }