#[cfg(feature = "seccomp")]
pub mod sigsys_signal_handler;
pub(crate) fn setup_signal_handlers() -> crate::Result<()> {
#[cfg(feature = "seccomp")]
{
vmm_sys_util::signal::register_signal_handler(
libc::SIGSYS,
sigsys_signal_handler::handle_sigsys,
)?;
let original_hook = std::panic::take_hook();
std::panic::set_hook(Box::new(move |panic_info| {
if let Some(crate::HyperlightError::DisallowedSyscall) = panic_info
.payload()
.downcast_ref::<crate::HyperlightError>(
) {
return;
}
original_hook(panic_info);
}));
}
vmm_sys_util::signal::register_signal_handler(libc::SIGRTMIN(), handle_hltimeout)?;
Ok(())
}
extern "C" fn handle_hltimeout(_: libc::c_int, _: *mut libc::siginfo_t, _: *mut libc::c_void) {
}