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 {