From ac7b617c26a9da83c95ac6df2e48edbcdc1786a6 Mon Sep 17 00:00:00 2001 From: Martin Lavoie Date: Sun, 13 Dec 2020 23:05:05 +0100 Subject: [PATCH] Prevent double panic in the Drop of TaksPoolInner --- crates/bevy_tasks/src/task_pool.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/bevy_tasks/src/task_pool.rs b/crates/bevy_tasks/src/task_pool.rs index 1f5e38b72be05..dded21db36732 100644 --- a/crates/bevy_tasks/src/task_pool.rs +++ b/crates/bevy_tasks/src/task_pool.rs @@ -69,10 +69,10 @@ impl Drop for TaskPoolInner { fn drop(&mut self) { self.shutdown_tx.close(); + let panicking = thread::panicking(); for join_handle in self.threads.drain(..) { - join_handle - .join() - .expect("Task thread panicked while executing."); + let res = join_handle.join(); + if !panicking { res.expect("Task thread panicked while executing."); } } } }