basiliq 0.1.2

REST API server exposing a Postgres database using JSON:API
use tokio::signal::unix::{signal, Signal, SignalKind};
use tracing::info;

pub async fn wait_for_term_signal() {
    let mut alarm_signal: Signal =
        signal(SignalKind::alarm()).expect("failed to set up ALARM signal handler");
    let mut term_signal: Signal =
        signal(SignalKind::terminate()).expect("failed to set up TERM signal handler");
    let mut int_signal: Signal =
        signal(SignalKind::interrupt()).expect("failed to set up INT signal handler");
    let mut usr1_signal: Signal =
        signal(SignalKind::user_defined1()).expect("failed to set up USR1 signal handler");
    let mut usr2_signal: Signal =
        signal(SignalKind::user_defined2()).expect("failed to set up USR2 signal handler");
    let mut quit_signal: Signal =
        signal(SignalKind::quit()).expect("failed to set up QUIT signal handler");

    tokio::select! {
        _ = alarm_signal.recv() => (),
        _ = term_signal.recv() => (),
        _ = int_signal.recv() => (),
        _ = usr1_signal.recv() => (),
        _ = usr2_signal.recv() => (),
        _ = quit_signal.recv() => (),
    };
    info!("Shutting down");
}