aquatic: give threads names when spawning them

This commit is contained in:
Joakim Frostegård 2020-04-12 21:46:48 +02:00
parent 140aa4b75d
commit 587096f76f

View file

@ -1,4 +1,5 @@
use std::time::Duration; use std::time::Duration;
use std::thread::Builder;
use crossbeam_channel::unbounded; use crossbeam_channel::unbounded;
@ -18,20 +19,20 @@ pub fn run(config: Config){
let (request_sender, request_receiver) = unbounded(); let (request_sender, request_receiver) = unbounded();
let (response_sender, response_receiver) = unbounded(); let (response_sender, response_receiver) = unbounded();
for _ in 0..config.request_workers { for i in 0..config.request_workers {
let state = state.clone(); let state = state.clone();
let config = config.clone(); let config = config.clone();
let request_receiver = request_receiver.clone(); let request_receiver = request_receiver.clone();
let response_sender = response_sender.clone(); let response_sender = response_sender.clone();
::std::thread::spawn(move || { Builder::new().name(format!("request-worker-{}", i + 1)).spawn(move ||
handlers::run_request_worker( handlers::run_request_worker(
state, state,
config, config,
request_receiver, request_receiver,
response_sender response_sender
); )
}); ).expect("spawn request worker");
} }
for i in 0..config.socket_workers { for i in 0..config.socket_workers {
@ -40,22 +41,22 @@ pub fn run(config: Config){
let request_sender = request_sender.clone(); let request_sender = request_sender.clone();
let response_receiver = response_receiver.clone(); let response_receiver = response_receiver.clone();
::std::thread::spawn(move || { Builder::new().name(format!("socket-worker-{}", i + 1)).spawn(move ||
network::run_socket_worker( network::run_socket_worker(
state, state,
config, config,
i, i,
request_sender, request_sender,
response_receiver response_receiver
); )
}); ).expect("spawn socket worker");
} }
if config.statistics.interval != 0 { if config.statistics.interval != 0 {
let state = state.clone(); let state = state.clone();
let config = config.clone(); let config = config.clone();
::std::thread::spawn(move || { Builder::new().name("statistics-collector".to_string()).spawn(move ||
loop { loop {
::std::thread::sleep(Duration::from_secs( ::std::thread::sleep(Duration::from_secs(
config.statistics.interval config.statistics.interval
@ -63,7 +64,7 @@ pub fn run(config: Config){
tasks::gather_and_print_statistics(&state, &config); tasks::gather_and_print_statistics(&state, &config);
} }
}); ).expect("spawn statistics thread");
} }
loop { loop {