From 1a34186a408089a6d40aa75d8b9c768d06876ae9 Mon Sep 17 00:00:00 2001 From: Andy Gayton Date: Fri, 2 May 2025 20:55:47 -0400 Subject: [PATCH] fix: clear jobs _after_ traversing jobs in jobs.kill_all --- crates/nu-protocol/src/engine/jobs.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/nu-protocol/src/engine/jobs.rs b/crates/nu-protocol/src/engine/jobs.rs index 71c18a4c83..d0ef1ecda3 100644 --- a/crates/nu-protocol/src/engine/jobs.rs +++ b/crates/nu-protocol/src/engine/jobs.rs @@ -112,13 +112,13 @@ impl Jobs { pub fn kill_all(&mut self) -> std::io::Result<()> { self.last_frozen_job_id = None; - self.jobs.clear(); - let first_err = self .iter() .map(|(_, job)| job.kill().err()) .fold(None, |acc, x| acc.or(x)); + self.jobs.clear(); + if let Some(err) = first_err { Err(err) } else {