diff --git a/src/context/signal.rs b/src/context/signal.rs index fc8e462..a19376a 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 eddcb80..f3bb1f7 160000 --- a/syscall +++ b/syscall @@ -1 +1 @@ -Subproject commit eddcb80eb7c2d43dedf0ba2ee514b54b0b8fafc7 +Subproject commit f3bb1f7b68bc8e5544857781de9eb8729b2843f4