pub(crate) async fn wait_or_get_signal(
    recv: &mut Receiver<Signal>
) -> Option<Signal>