mirror of
https://github.com/sreedevk/deduplicator.git
synced 2026-08-26 02:04:39 +00:00
cleanup clone littering in server.rs
This commit is contained in:
@@ -42,60 +42,68 @@ impl Server {
|
|||||||
progbarbox.set_draw_target(ProgressDrawTarget::hidden());
|
progbarbox.set_draw_target(ProgressDrawTarget::hidden());
|
||||||
}
|
}
|
||||||
|
|
||||||
let app_args_clone_for_sc = self.app_args.clone();
|
let (app_args_sc, app_args_sw, app_args_hw) = (
|
||||||
let app_args_clone_for_sw = self.app_args.clone();
|
Arc::clone(&self.app_args),
|
||||||
let app_args_clone_for_hw = self.app_args.clone();
|
Arc::clone(&self.app_args),
|
||||||
let file_queue_clone_sc = self.filequeue.clone();
|
Arc::clone(&self.app_args),
|
||||||
let file_queue_clone_pr = self.filequeue.clone();
|
);
|
||||||
|
let (file_queue_sc, file_queue_pr) = (
|
||||||
|
Arc::clone(&self.filequeue),
|
||||||
|
Arc::clone(&self.filequeue),
|
||||||
|
);
|
||||||
let scanner_finished = Arc::new(AtomicBool::new(false));
|
let scanner_finished = Arc::new(AtomicBool::new(false));
|
||||||
let sw_sort_finished = Arc::new(AtomicBool::new(false));
|
let sw_sort_finished = Arc::new(AtomicBool::new(false));
|
||||||
|
let (sfin_sc, sfin_pr) = (
|
||||||
let sfin_sc_tr_cl = scanner_finished.clone();
|
Arc::clone(&scanner_finished),
|
||||||
let sfin_pr_tr_cl = scanner_finished.clone();
|
Arc::clone(&scanner_finished),
|
||||||
|
);
|
||||||
let swfin_pr_tr_sw = sw_sort_finished.clone();
|
let (swfin_pr_sw, swfin_pr_hw) = (
|
||||||
let swfin_pr_tr_hw = sw_sort_finished.clone();
|
Arc::clone(&sw_sort_finished),
|
||||||
|
Arc::clone(&sw_sort_finished),
|
||||||
let store_dupl_sw_for_sw = self.sw_duplicate_set.clone();
|
);
|
||||||
let store_dupl_sw_for_hw = self.sw_duplicate_set.clone();
|
let (store_sw, store_sw2, store_hw) = (
|
||||||
let store_dupl_hw = self.hw_duplicate_set.clone();
|
Arc::clone(&self.sw_duplicate_set),
|
||||||
let max_file_path_len_clone = self.max_file_path_len.clone();
|
Arc::clone(&self.sw_duplicate_set),
|
||||||
|
Arc::clone(&self.hw_duplicate_set),
|
||||||
let progbarbox_sc_clone = progbarbox.clone();
|
);
|
||||||
let progbarbox_pr_clone_for_sw = progbarbox.clone();
|
let max_file_path_len = Arc::clone(&self.max_file_path_len);
|
||||||
let progbarbox_pr_clone_for_hw = progbarbox.clone();
|
let (prog_sc, prog_sw, prog_hw) = (
|
||||||
|
Arc::clone(&progbarbox),
|
||||||
|
Arc::clone(&progbarbox),
|
||||||
|
Arc::clone(&progbarbox),
|
||||||
|
);
|
||||||
|
|
||||||
self.threadpool.execute(move || {
|
self.threadpool.execute(move || {
|
||||||
Scanner::new(app_args_clone_for_sc)
|
Scanner::new(app_args_sc)
|
||||||
.expect("unable to initialize scanner.")
|
.expect("unable to initialize scanner.")
|
||||||
.scan(file_queue_clone_sc, progbarbox_sc_clone)
|
.scan(file_queue_sc, prog_sc)
|
||||||
.expect("scanner failed.");
|
.expect("scanner failed.");
|
||||||
|
|
||||||
sfin_sc_tr_cl.store(true, std::sync::atomic::Ordering::Relaxed);
|
sfin_sc.store(true, std::sync::atomic::Ordering::Relaxed);
|
||||||
});
|
});
|
||||||
|
|
||||||
self.threadpool.execute(move || {
|
self.threadpool.execute(move || {
|
||||||
Processor::sizewise(
|
Processor::sizewise(
|
||||||
app_args_clone_for_sw,
|
app_args_sw,
|
||||||
sfin_pr_tr_cl,
|
sfin_pr,
|
||||||
store_dupl_sw_for_sw,
|
store_sw,
|
||||||
file_queue_clone_pr,
|
file_queue_pr,
|
||||||
progbarbox_pr_clone_for_sw,
|
prog_sw,
|
||||||
)
|
)
|
||||||
.expect("sizewise scanner failed.");
|
.expect("sizewise scanner failed.");
|
||||||
|
|
||||||
swfin_pr_tr_sw.store(true, std::sync::atomic::Ordering::Relaxed);
|
swfin_pr_sw.store(true, std::sync::atomic::Ordering::Relaxed);
|
||||||
});
|
});
|
||||||
|
|
||||||
self.threadpool.execute(move || {
|
self.threadpool.execute(move || {
|
||||||
Processor::hashwise(
|
Processor::hashwise(
|
||||||
app_args_clone_for_hw,
|
app_args_hw,
|
||||||
store_dupl_sw_for_hw,
|
store_sw2,
|
||||||
store_dupl_hw,
|
store_hw,
|
||||||
progbarbox_pr_clone_for_hw,
|
prog_hw,
|
||||||
max_file_path_len_clone,
|
max_file_path_len,
|
||||||
seed,
|
seed,
|
||||||
swfin_pr_tr_hw,
|
swfin_pr_hw,
|
||||||
)
|
)
|
||||||
.expect("sizewise scanner failed.");
|
.expect("sizewise scanner failed.");
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user