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::thread::Builder;
use crossbeam_channel::unbounded;
@ -18,20 +19,20 @@ pub fn run(config: Config){
let (request_sender, request_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 config = config.clone();
let request_receiver = request_receiver.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(
state,
config,
request_receiver,
response_sender
);
});
)
).expect("spawn request worker");
}
for i in 0..config.socket_workers {
@ -40,22 +41,22 @@ pub fn run(config: Config){
let request_sender = request_sender.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(
state,
config,
i,
request_sender,
response_receiver
);
});
)
).expect("spawn socket worker");
}
if config.statistics.interval != 0 {
let state = state.clone();
let config = config.clone();
::std::thread::spawn(move || {
Builder::new().name("statistics-collector".to_string()).spawn(move ||
loop {
::std::thread::sleep(Duration::from_secs(
config.statistics.interval
@ -63,7 +64,7 @@ pub fn run(config: Config){
tasks::gather_and_print_statistics(&state, &config);
}
});
).expect("spawn statistics thread");
}
loop {