1 #![warn(rust_2018_idioms)] 2 #![cfg(feature = "full")] 3 #![cfg(unix)] 4 #![cfg(not(miri))] // No `sigaction` in Miri. 5 6 mod support { 7 pub mod signal; 8 } 9 use support::signal::send_signal; 10 11 use tokio::signal::unix::{signal, SignalKind}; 12 13 #[tokio::test] drop_then_get_a_signal()14async fn drop_then_get_a_signal() { 15 let kind = SignalKind::user_defined1(); 16 let sig = signal(kind).expect("failed to create first signal"); 17 drop(sig); 18 19 send_signal(libc::SIGUSR1); 20 let mut sig = signal(kind).expect("failed to create second signal"); 21 22 let _ = sig.recv().await; 23 } 24