diff --git a/src/lib.rs b/src/lib.rs index b625fa6b..6dcd9261 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -121,11 +121,16 @@ pub fn run(future: impl Future) -> T { #[cfg(not(feature = "tokio02"))] fn setup(num_threads: usize, shutdown: Receiver<()>, future: impl Future) -> T { let ex = Executor::new(); - let local_ex = LocalExecutor::new(); Parallel::new() - .each(0..num_threads, |_| ex.run(shutdown.recv())) - .finish(|| ex.enter(|| local_ex.run(future))) + .each(0..num_threads, |_| { + let local_ex = LocalExecutor::new(); + local_ex.enter(|| ex.run(shutdown.recv())) + }) + .finish(|| { + let local_ex = LocalExecutor::new(); + local_ex.enter(|| ex.run(future)) + }) .1 } @@ -140,11 +145,19 @@ fn setup(num_threads: usize, shutdown: Receiver<()>, future: impl Future