From c56978d1e771864d3352011d51d7b539e57d9672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Marcos=20P=2E=20Bezerra?= Date: Fri, 15 Mar 2024 17:59:00 -0300 Subject: [PATCH] handle logger thread in main function --- src/commands/mod.rs | 14 +------------- src/main.rs | 8 +++++++- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/commands/mod.rs b/src/commands/mod.rs index f5027f9..d15c5f9 100644 --- a/src/commands/mod.rs +++ b/src/commands/mod.rs @@ -18,7 +18,7 @@ use crate::{ list::ListOptions, utils::{ self, - logger::{info_accessible, spawn_logger_thread, warning}, + logger::{info_accessible, warning}, to_utf, EscapedPathDisplay, FileVisibilityPolicy, }, CliArgs, QuestionPolicy, @@ -52,18 +52,6 @@ pub fn run( args: CliArgs, question_policy: QuestionPolicy, file_visibility_policy: FileVisibilityPolicy, -) -> crate::Result<()> { - let handler = spawn_logger_thread(); - run_cmd(args, question_policy, file_visibility_policy)?; - handler.shutdown_and_wait(); - - Ok(()) -} - -fn run_cmd( - args: CliArgs, - question_policy: QuestionPolicy, - file_visibility_policy: FileVisibilityPolicy, ) -> crate::Result<()> { match args.cmd { Subcommand::Compress { diff --git a/src/main.rs b/src/main.rs index 809c4e6..f126c95 100644 --- a/src/main.rs +++ b/src/main.rs @@ -18,6 +18,8 @@ use error::{Error, Result}; use once_cell::sync::Lazy; use utils::{QuestionAction, QuestionPolicy}; +use crate::utils::logger::spawn_logger_thread; + // Used in BufReader and BufWriter to perform less syscalls const BUFFER_CAPACITY: usize = 1024 * 32; @@ -28,7 +30,11 @@ static CURRENT_DIRECTORY: Lazy = Lazy::new(|| env::current_dir().unwrap pub const EXIT_FAILURE: i32 = libc::EXIT_FAILURE; fn main() { - if let Err(err) = run() { + let handler = spawn_logger_thread(); + let result = run(); + handler.shutdown_and_wait(); + + if let Err(err) = result { eprintln!("{err}"); std::process::exit(EXIT_FAILURE); }