add server restart support w/ admin command

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-06-16 19:46:32 +00:00
parent 2cb31275f0
commit c6f4b20e17
5 changed files with 54 additions and 2 deletions

View file

@ -1,11 +1,16 @@
pub(crate) mod clap;
mod mods;
mod restart;
mod server;
mod signal;
extern crate conduit_core as conduit;
use std::{cmp, sync::Arc, time::Duration};
use std::{
cmp,
sync::{atomic::Ordering, Arc},
time::Duration,
};
use conduit::{debug_info, error, utils::available_parallelism, Error, Result};
use server::Server;
@ -32,8 +37,13 @@ fn main() -> Result<(), Error> {
// explicit drop here to trace thread and tls dtors
drop(runtime);
debug_info!("Exit");
#[cfg(unix)]
if server.server.restarting.load(Ordering::Acquire) {
restart::restart();
}
debug_info!("Exit");
Ok(())
}