mirror of
https://github.com/denoland/deno
synced 2024-11-05 18:45:24 +00:00
Enable thread pool for blocking ops (#3912)
This commit is contained in:
parent
99186dbaa2
commit
724e39f13f
2 changed files with 4 additions and 11 deletions
|
@ -103,15 +103,7 @@ where
|
|||
if is_sync {
|
||||
Ok(JsonOp::Sync(f()?))
|
||||
} else {
|
||||
// TODO(ry) use thread pool.
|
||||
let fut = crate::tokio_util::spawn_thread(f);
|
||||
/*
|
||||
let fut = async move {
|
||||
tokio::task::spawn_blocking(move || f())
|
||||
.await
|
||||
.map_err(ErrBox::from)?
|
||||
}.boxed_local();
|
||||
*/
|
||||
let fut = async move { tokio::task::spawn_blocking(f).await.unwrap() };
|
||||
Ok(JsonOp::Async(fut.boxed_local()))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
use futures::Future;
|
||||
|
||||
// TODO(ry) rename to run_local ?
|
||||
pub fn run_basic<F, R>(future: F) -> R
|
||||
|
@ -15,7 +14,9 @@ where
|
|||
rt.block_on(future)
|
||||
}
|
||||
|
||||
pub fn spawn_thread<F, R>(f: F) -> impl Future<Output = R>
|
||||
// TODO(ry) maybe replace with tokio::task::spawn_blocking
|
||||
#[cfg(test)]
|
||||
pub fn spawn_thread<F, R>(f: F) -> impl std::future::Future<Output = R>
|
||||
where
|
||||
F: 'static + Send + FnOnce() -> R,
|
||||
R: 'static + Send,
|
||||
|
|
Loading…
Reference in a new issue