diff --git a/src/cli/manager.rs b/src/cli/manager.rs index 22808f70..c2fe5cb8 100644 --- a/src/cli/manager.rs +++ b/src/cli/manager.rs @@ -90,6 +90,13 @@ pub fn default_settings() -> Option<&'static str> { return MANAGER.as_ref().clap_matches.value_of("default-settings"); } +pub fn enable_thread_counter() -> bool { + return MANAGER + .as_ref() + .clap_matches + .is_present("enable-thread-counter"); +} + // Return the command line used to start this application pub fn command_line_string() -> String { std::env::args().collect::>().join(" ") @@ -217,6 +224,12 @@ fn get_clap_matches<'a>() -> clap::ArgMatches<'a> { .long("enable-tracy") .help("Turns on the Tracy tool integration. Learn more: https://github.com/wolfpld/tracy") .takes_value(false), + ) + .arg( + clap::Arg::with_name("enable-thread-counter") + .long("enable-thread-counter") + .help("Enable a thread that prints the number of children processes.") + .takes_value(false), ); matches.get_matches() diff --git a/src/main.rs b/src/main.rs index 227cd4b3..030e1b61 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,6 +34,10 @@ async fn main() -> Result<(), std::io::Error> { settings::manager::set_mavlink_endpoint(endpoint); } + if cli::manager::enable_thread_counter() { + helper::threads::start_thread_counter_thread(); + } + stream::webrtc::signalling_server::SignallingServer::default(); if let Err(error) = stream::manager::start_default() {