From de3d5914cf6523e482d2f7a96b1ed852fdfa8cac Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 9 Nov 2025 10:57:43 +0700 Subject: [PATCH 1/2] Fix hang on fetch --- src/bin/repo.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bin/repo.rs b/src/bin/repo.rs index 4b54cfcb7..e81cbec51 100644 --- a/src/bin/repo.rs +++ b/src/bin/repo.rs @@ -294,7 +294,7 @@ fn repo_inner( let th = thread::spawn(move || { while let Ok(update) = status_rx.recv() { let mut should_break = false; - if let StatusUpdate::FlushLog(_p, _q) = &update { + if update == StatusUpdate::CookThreadFinished { should_break = true; } app.update_status(update); @@ -316,6 +316,9 @@ fn repo_inner( .send(StatusUpdate::FlushLog(recipe.name.clone(), log_path)) .unwrap_or_default(); } + status_tx + .send(StatusUpdate::CookThreadFinished) + .unwrap_or_default(); let _ = th.join(); } CliCommand::Unfetch => handle_clean(recipe, config, true, true)?, From 13ac0bbf70cd59d7c7a6763506602f2fd35b75b7 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 9 Nov 2025 11:05:58 +0700 Subject: [PATCH 2/2] Simplify logic --- src/bin/repo.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/bin/repo.rs b/src/bin/repo.rs index e81cbec51..341cd0e72 100644 --- a/src/bin/repo.rs +++ b/src/bin/repo.rs @@ -293,14 +293,10 @@ fn repo_inner( app.dump_logs_anyway = true; let th = thread::spawn(move || { while let Ok(update) = status_rx.recv() { - let mut should_break = false; if update == StatusUpdate::CookThreadFinished { - should_break = true; - } - app.update_status(update); - if should_break { break; } + app.update_status(update); } }); let mut logger = Some((&mut stdout_writer, &mut stderr_writer));