diff --git a/src/main.rs b/src/main.rs index 9212993..6cafc03 100644 --- a/src/main.rs +++ b/src/main.rs @@ -297,6 +297,12 @@ fn load_keys(settings: &Settings) -> Vec { } pub fn start_services(settings: &Settings, context: &Arc>) -> (bool, Arc>, JoinHandle<()>) { + let dns_server_ok = if settings.dns.threads > 0 { + dns_utils::start_dns_server(&context, &settings) + } else { + true + }; + if let Ok(mut context) = context.lock() { context.chain.check_chain(settings.check_blocks); match context.chain.get_block(1) { @@ -309,12 +315,6 @@ pub fn start_services(settings: &Settings, context: &Arc>) -> (bo } } - let dns_server_ok = if settings.dns.threads > 0 { - dns_utils::start_dns_server(&context, &settings) - } else { - true - }; - let mut miner_obj = Miner::new(Arc::clone(&context)); miner_obj.start_mining_thread(); let miner: Arc> = Arc::new(Mutex::new(miner_obj)); diff --git a/src/win_service.rs b/src/win_service.rs index 78c85e7..bec2ef8 100644 --- a/src/win_service.rs +++ b/src/win_service.rs @@ -85,7 +85,7 @@ fn run_service_logic() -> Result<()> { let (_dns_server_ok, _miner, _network) = start_services(&settings, &context); loop { - thread::sleep(Duration::from_secs(1)); + thread::sleep(Duration::from_millis(50)); // Poll shutdown event. match shutdown_rx.recv_timeout(Duration::from_secs(1)) { // Break the loop either upon stop or channel disconnect