[F] Fix log sync (#6)

This commit is contained in:
2026-05-10 02:14:53 -04:00
committed by GitHub
parent 009ba9b247
commit 04d8aee687
3 changed files with 130 additions and 31 deletions
+3
View File
@@ -20,13 +20,16 @@ where
let worker_count = jobs.min(items.len());
let queue = Arc::new(Mutex::new(VecDeque::from(items)));
let (sender, receiver) = mpsc::channel();
let repo_log_context = crate::logging::current_repo_log_context();
thread::scope(|scope| {
for _ in 0..worker_count {
let queue = Arc::clone(&queue);
let sender = sender.clone();
let f = &f;
let repo_log_context = repo_log_context.clone();
scope.spawn(move || {
let _repo_log_guard = crate::logging::inherit_repo_log(repo_log_context);
while let Some(item) = pop_item(&queue) {
if sender.send(f(item)).is_err() {
break;