diff --git a/redox-rt/src/proc.rs b/redox-rt/src/proc.rs index e4564bb700cb9d93f837e12f33b38a88d51ac72c..a89354f274eca1ddda62ec20cd070d5d3fea3f4c 100644 --- a/redox-rt/src/proc.rs +++ b/redox-rt/src/proc.rs @@ -421,6 +421,15 @@ where push(argc)?; + if let Ok(sighandler_fd) = syscall::dup(*open_via_dup, b"sighandler").map(FdGuard::new) { + let _ = syscall::write(*sighandler_fd, &SetSighandlerData { + user_handler: 0, + excp_handler: 0, + thread_control_addr: 0, + proc_control_addr: 0, + }); + } + unsafe { deactivate_tcb(*open_via_dup)?; }