fix: move BufWriter creation inside threads for stdout_a and stdout_b
This commit is contained in:
@@ -535,15 +535,14 @@ fn mode_diff(cmd: &mut Command, args: Args, ids: &mut Vec<i64>, tags: &mut Vec<S
|
||||
|
||||
let stdout_a_raw = unsafe { std::fs::File::from_raw_fd(fd_a_write) };
|
||||
let stdout_b_raw = unsafe { std::fs::File::from_raw_fd(fd_b_write) };
|
||||
let stdout_a = BufWriter::new(stdout_a_raw);
|
||||
let stdout_b = BufWriter::new(stdout_b_raw);
|
||||
|
||||
debug!("MAIN: Sending item A to diff");
|
||||
let handle_a = {
|
||||
let stdout_a = stdout_a;
|
||||
let stdout_a_raw = stdout_a_raw;
|
||||
let item_path_a = item_path_a.clone();
|
||||
let compression_type_a = compression_type_a.clone();
|
||||
std::thread::spawn(move || {
|
||||
let stdout_a = BufWriter::new(stdout_a_raw);
|
||||
let compression_engine_a = compression::get_engine(compression_type_a).expect("Unable to get compression engine");
|
||||
compression_engine_a.copy(item_path_a, &mut stdout_a).unwrap()
|
||||
})
|
||||
@@ -551,10 +550,11 @@ fn mode_diff(cmd: &mut Command, args: Args, ids: &mut Vec<i64>, tags: &mut Vec<S
|
||||
|
||||
debug!("MAIN: Sending item B to diff");
|
||||
let handle_b = {
|
||||
let stdout_b = stdout_b;
|
||||
let stdout_b_raw = stdout_b_raw;
|
||||
let item_path_b = item_path_b.clone();
|
||||
let compression_type_b = compression_type_b.clone();
|
||||
std::thread::spawn(move || {
|
||||
let stdout_b = BufWriter::new(stdout_b_raw);
|
||||
let compression_engine_b = compression::get_engine(compression_type_b).expect("Unable to get compression engine");
|
||||
compression_engine_b.copy(item_path_b, &mut stdout_b).unwrap()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user