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,13 +1029,16 @@ 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) {
use crate::bash_runner::TaskStatus; None => break, // unknown ID — no point waiting
if matches!( Some(task) => {
task.status, use crate::bash_runner::TaskStatus;
TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted if matches!(
) { task.status,
break; TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted
) {
break;
}
} }
} }
if tokio::time::Instant::now() >= deadline { if tokio::time::Instant::now() >= deadline {