fix(#1147): break wait loop immediately on unknown task id

This commit is contained in:
damocles 2026-06-03 16:31:48 +02:00 committed by mara
commit 3dda286d2b

View file

@ -1029,7 +1029,9 @@ impl AgentServer {
let deadline = tokio::time::Instant::now() let deadline = tokio::time::Instant::now()
+ std::time::Duration::from_secs(wait.min(MAX_WAIT_SECS)); + std::time::Duration::from_secs(wait.min(MAX_WAIT_SECS));
loop { loop {
if let Some(task) = crate::bash_runner::read_task(&args.id) { match crate::bash_runner::read_task(&args.id) {
None => break, // unknown ID — no point waiting
Some(task) => {
use crate::bash_runner::TaskStatus; use crate::bash_runner::TaskStatus;
if matches!( if matches!(
task.status, task.status,
@ -1038,6 +1040,7 @@ impl AgentServer {
break; break;
} }
} }
}
if tokio::time::Instant::now() >= deadline { if tokio::time::Instant::now() >= deadline {
break; break;
} }