diff --git a/src/task.rs b/src/task.rs index 2284d1d..32f7455 100644 --- a/src/task.rs +++ b/src/task.rs @@ -102,11 +102,11 @@ impl Task { /// /// [`run()`]: `crate::run()` pub fn spawn(future: impl Future + Send + 'static) -> Task { - QUEUE.spawn(future) - // WORKER.with(|w| match &*w.borrow() { - // None => QUEUE.spawn(future), - // Some(w) => w.spawn(future), - // }) + if WORKER.is_set() { + WORKER.with(|w| w.spawn_local(future)) + } else { + QUEUE.spawn(future) + } } /// Spawns a future onto the blocking executor.