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()
+ std::time::Duration::from_secs(wait.min(MAX_WAIT_SECS));
loop {
if let Some(task) = crate::bash_runner::read_task(&args.id) {
use crate::bash_runner::TaskStatus;
if matches!(
task.status,
TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted
) {
break;
match crate::bash_runner::read_task(&args.id) {
None => break, // unknown ID — no point waiting
Some(task) => {
use crate::bash_runner::TaskStatus;
if matches!(
task.status,
TaskStatus::Done | TaskStatus::TimedOut | TaskStatus::Interrupted
) {
break;
}
}
}
if tokio::time::Instant::now() >= deadline {