mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 05:10:55 +00:00
daemon: mask SIGHUP
This commit is contained in:
parent
0f85e30149
commit
f8e2f50c60
@ -58,6 +58,7 @@ path-absolutize = "3.1.1"
|
|||||||
tokio-tun = "0.11.2"
|
tokio-tun = "0.11.2"
|
||||||
tokio-listener = "0.3.1"
|
tokio-listener = "0.3.1"
|
||||||
trait-variant = "0.1.1"
|
trait-variant = "0.1.1"
|
||||||
|
signal-hook = "0.3.17"
|
||||||
|
|
||||||
[workspace.dependencies.uuid]
|
[workspace.dependencies.uuid]
|
||||||
version = "1.6.1"
|
version = "1.6.1"
|
||||||
|
@ -31,6 +31,7 @@ futures = { workspace = true }
|
|||||||
bytes = { workspace = true }
|
bytes = { workspace = true }
|
||||||
tokio-stream = { workspace = true }
|
tokio-stream = { workspace = true }
|
||||||
async-trait = { workspace = true }
|
async-trait = { workspace = true }
|
||||||
|
signal-hook = { workspace = true }
|
||||||
|
|
||||||
[dependencies.tokio-listener]
|
[dependencies.tokio-listener]
|
||||||
workspace = true
|
workspace = true
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
use std::sync::{atomic::AtomicBool, Arc};
|
||||||
|
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use env_logger::Env;
|
use env_logger::Env;
|
||||||
@ -15,6 +17,7 @@ struct Args {
|
|||||||
#[tokio::main(flavor = "multi_thread", worker_threads = 10)]
|
#[tokio::main(flavor = "multi_thread", worker_threads = 10)]
|
||||||
async fn main() -> Result<()> {
|
async fn main() -> Result<()> {
|
||||||
env_logger::Builder::from_env(Env::default().default_filter_or("warn")).init();
|
env_logger::Builder::from_env(Env::default().default_filter_or("warn")).init();
|
||||||
|
mask_sighup()?;
|
||||||
|
|
||||||
let args = Args::parse();
|
let args = Args::parse();
|
||||||
let Some(listener) = args.listener.bind().await else {
|
let Some(listener) = args.listener.bind().await else {
|
||||||
@ -25,3 +28,9 @@ async fn main() -> Result<()> {
|
|||||||
daemon.listen(listener?).await?;
|
daemon.listen(listener?).await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn mask_sighup() -> Result<()> {
|
||||||
|
let flag = Arc::new(AtomicBool::new(false));
|
||||||
|
signal_hook::flag::register(signal_hook::consts::SIGHUP, flag)?;
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user