#![warn(rust_2018_idioms)] #![cfg(feature = "full")] #![cfg(any( target_os = "dragonfly", target_os = "freebsd", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "illumos" ))] #![cfg(not(miri))] // No `sigaction` on Miri mod support { pub mod signal; } use support::signal::send_signal; use tokio::signal; use tokio::signal::unix::SignalKind; use tokio::time::{timeout, Duration}; #[tokio::test] async fn siginfo() { let mut sig = signal::unix::signal(SignalKind::info()).expect("installed signal handler"); tokio::spawn(async { send_signal(libc::SIGINFO); }); // Add a timeout to ensure the test doesn't hang. timeout(Duration::from_secs(5), sig.recv()) .await .expect("received SIGINFO signal in time") .expect("received SIGINFO signal"); }