diff --git a/src/core/builder/gas.rs b/src/core/builder/gas.rs index fa35781..80d432c 100644 --- a/src/core/builder/gas.rs +++ b/src/core/builder/gas.rs @@ -121,25 +121,27 @@ fn build_objects( std::thread::scope(|s| { for _ in 0..num_threads { - s.spawn(|| loop { - if err_msg.lock().unwrap().is_some() { - break; - } - - let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); - if i >= sources.len() { - break; - } - - let source = &sources[i]; - let obj_path = &objects[i]; - - if let Err(e) = build_object(assembler, source, obj_path, ctx) { - let mut err = err_msg.lock().unwrap(); - if err.is_none() { - *err = Some(e); + s.spawn(|| { + loop { + if err_msg.lock().unwrap().is_some() { + break; + } + + let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); + if i >= sources.len() { + break; + } + + let source = &sources[i]; + let obj_path = &objects[i]; + + if let Err(e) = build_object(assembler, source, obj_path, ctx) { + let mut err = err_msg.lock().unwrap(); + if err.is_none() { + *err = Some(e); + } + break; } - break; } }); } diff --git a/src/core/builder/msvc.rs b/src/core/builder/msvc.rs index 3fb573e..622896f 100644 --- a/src/core/builder/msvc.rs +++ b/src/core/builder/msvc.rs @@ -206,25 +206,27 @@ fn build_objects( std::thread::scope(|s| { for _ in 0..num_threads { - s.spawn(|| loop { - if err_msg.lock().unwrap().is_some() { - break; - } - - let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); - if i >= sources.len() { - break; - } - - let source = &sources[i]; - let obj_path = &objects[i]; - - if let Err(e) = build_object(compiler, source, obj_path, ctx) { - let mut err = err_msg.lock().unwrap(); - if err.is_none() { - *err = Some(e); + s.spawn(|| { + loop { + if err_msg.lock().unwrap().is_some() { + break; + } + + let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); + if i >= sources.len() { + break; + } + + let source = &sources[i]; + let obj_path = &objects[i]; + + if let Err(e) = build_object(compiler, source, obj_path, ctx) { + let mut err = err_msg.lock().unwrap(); + if err.is_none() { + *err = Some(e); + } + break; } - break; } }); } @@ -304,7 +306,8 @@ fn build_object( for line in stdout.lines() { if let Some(stripped) = line.strip_prefix("Note: including file:") { headers.push(stripped.trim().to_string()); - } else if let Some(stripped) = line.strip_prefix("Примечание: включение файла:") { + } else if let Some(stripped) = line.strip_prefix("Примечание: включение файла:") + { headers.push(stripped.trim().to_string()); } else { clean_stdout.push_str(line); diff --git a/src/core/builder/nasm.rs b/src/core/builder/nasm.rs index 15a65a9..2eff241 100644 --- a/src/core/builder/nasm.rs +++ b/src/core/builder/nasm.rs @@ -122,25 +122,27 @@ fn build_objects( std::thread::scope(|s| { for _ in 0..num_threads { - s.spawn(|| loop { - if err_msg.lock().unwrap().is_some() { - break; - } - - let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); - if i >= sources.len() { - break; - } - - let source = &sources[i]; - let obj_path = &objects[i]; - - if let Err(e) = build_object(assembler, source, obj_path, format, ctx) { - let mut err = err_msg.lock().unwrap(); - if err.is_none() { - *err = Some(e); + s.spawn(|| { + loop { + if err_msg.lock().unwrap().is_some() { + break; + } + + let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); + if i >= sources.len() { + break; + } + + let source = &sources[i]; + let obj_path = &objects[i]; + + if let Err(e) = build_object(assembler, source, obj_path, format, ctx) { + let mut err = err_msg.lock().unwrap(); + if err.is_none() { + *err = Some(e); + } + break; } - break; } }); } @@ -169,7 +171,11 @@ fn build_object( } let mut cmd = Command::new(assembler); - cmd.arg("-f").arg(format).arg(source).arg("-o").arg(obj_path); + cmd.arg("-f") + .arg(format) + .arg(source) + .arg("-o") + .arg(obj_path); for flag in ctx.cflags { cmd.arg(flag); diff --git a/src/core/builder/unix_cc.rs b/src/core/builder/unix_cc.rs index 0636ecb..1ec1aea 100644 --- a/src/core/builder/unix_cc.rs +++ b/src/core/builder/unix_cc.rs @@ -146,25 +146,27 @@ fn build_objects( std::thread::scope(|s| { for _ in 0..num_threads { - s.spawn(|| loop { - if err_msg.lock().unwrap().is_some() { - break; - } - - let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); - if i >= sources.len() { - break; - } - - let source = &sources[i]; - let obj_path = &objects[i]; - - if let Err(e) = build_object(compiler, source, obj_path, ctx) { - let mut err = err_msg.lock().unwrap(); - if err.is_none() { - *err = Some(e); + s.spawn(|| { + loop { + if err_msg.lock().unwrap().is_some() { + break; + } + + let i = counter.fetch_add(1, std::sync::atomic::Ordering::SeqCst); + if i >= sources.len() { + break; + } + + let source = &sources[i]; + let obj_path = &objects[i]; + + if let Err(e) = build_object(compiler, source, obj_path, ctx) { + let mut err = err_msg.lock().unwrap(); + if err.is_none() { + *err = Some(e); + } + break; } - break; } }); }