Skip to content

Commit 1a34296

Browse files
committed
init blocking-updates
Signed-off-by: Yoshua Wuyts <[email protected]>
1 parent 23beab4 commit 1a34296

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/task/blocking.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,13 @@ fn schedule(t: async_task::Task<Tag>) {
9696
/// Spawns a blocking task.
9797
///
9898
/// The task will be spawned onto a thread pool specifically dedicated to blocking tasks.
99-
pub(crate) fn spawn<F, R>(future: F) -> JoinHandle<R>
99+
pub(crate) fn spawn<F, R>(f: F) -> JoinHandle<R>
100100
where
101-
F: Future<Output = R> + Send + 'static,
101+
F: FnOnce() -> R + Send + 'static,
102102
R: Send + 'static,
103103
{
104104
let tag = Tag::new(None);
105+
let future = async move { f() };
105106
let (task, handle) = async_task::spawn(future, schedule, tag);
106107
task.schedule();
107108
JoinHandle::new(handle)

src/task/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ cfg_if::cfg_if! {
7373
/// #
7474
/// use async_std::task;
7575
///
76-
/// task::blocking(async {
76+
/// task::blocking(|| {
7777
/// println!("long-running task here");
7878
/// }).await;
7979
/// #
@@ -84,10 +84,10 @@ cfg_if::cfg_if! {
8484
#[cfg(any(feature = "unstable", feature = "docs"))]
8585
#[cfg_attr(feature = "docs", doc(cfg(unstable)))]
8686
#[inline]
87-
pub fn blocking<F, R>(future: F) -> task::JoinHandle<R>
87+
pub fn blocking<F, R>(f: F) -> task::JoinHandle<R>
8888
where
89-
F: crate::future::Future<Output = R> + Send + 'static,
89+
F: FnOnce() -> R + Send + 'static,
9090
R: Send + 'static,
9191
{
92-
blocking::spawn(future)
92+
blocking::spawn_blocking(future)
9393
}

0 commit comments

Comments
 (0)