diff --git a/src/context/signal.rs b/src/context/signal.rs index fc8e462698406bdda6a8f295a449bde7a700e64c..a19376af3a41879f5f80111159f6ae9780cac04b 100644 --- a/src/context/signal.rs +++ b/src/context/signal.rs @@ -15,7 +15,7 @@ pub extern "C" fn signal_handler(sig: usize) { actions[sig] }; - let handler = action.sa_handler as usize; + let handler = action.sa_handler.map(|ptr| ptr as usize).unwrap_or(0); if handler == SIG_DFL { match sig { SIGCHLD => { diff --git a/syscall b/syscall index eddcb80eb7c2d43dedf0ba2ee514b54b0b8fafc7..f3bb1f7b68bc8e5544857781de9eb8729b2843f4 160000 --- a/syscall +++ b/syscall @@ -1 +1 @@ -Subproject commit eddcb80eb7c2d43dedf0ba2ee514b54b0b8fafc7 +Subproject commit f3bb1f7b68bc8e5544857781de9eb8729b2843f4