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()14 async 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