diff options
author | gliderkite <gliderkite@users.noreply.github.com> | 2020-01-22 16:34:09 +0000 |
---|---|---|
committer | Lucio Franco <luciofranco14@gmail.com> | 2020-01-22 11:34:09 -0500 |
commit | 5bbf9762681ae75c6489558e15f894d0466516a3 (patch) | |
tree | 3bd4129bef5bd662547af05c132d6d6d160947eb | |
parent | 90969420a2ac1562e3ac523e14bae064e169bf80 (diff) |
Enhance documentation of tokio::task::block_in_place (#2155)
-rw-r--r-- | tokio/src/runtime/thread_pool/worker.rs | 4 | ||||
-rw-r--r-- | tokio/src/task/blocking.rs | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/tokio/src/runtime/thread_pool/worker.rs b/tokio/src/runtime/thread_pool/worker.rs index 298ef06d..e8fb74d4 100644 --- a/tokio/src/runtime/thread_pool/worker.rs +++ b/tokio/src/runtime/thread_pool/worker.rs @@ -26,7 +26,9 @@ cfg_blocking! { ON_BLOCK.with(|ob| { let allow_blocking = ob .get() - .expect("can only call blocking when on Tokio runtime"); + // `block_in_place` can only be called from a spawned task when + // working with the threaded scheduler. + .expect("can call blocking only when running in a spawned task"); // This is safe, because ON_BLOCK was set from an &mut dyn FnMut in the worker that wraps // the worker's operation, and is unset just prior to when the FnMut is dropped. diff --git a/tokio/src/task/blocking.rs b/tokio/src/task/blocking.rs index a155197f..69f4cf0a 100644 --- a/tokio/src/task/blocking.rs +++ b/tokio/src/task/blocking.rs @@ -10,6 +10,12 @@ cfg_rt_threaded! { /// (possibly new) thread, and only then poll the task. Note that this requires /// additional synchronization. /// + /// # Note + /// + /// This function can only be called from a spawned task when working with + /// the [threaded scheduler](https://docs.rs/tokio/0.2.10/tokio/runtime/index.html#threaded-scheduler). + /// Consider using [tokio::task::spawn_blocking](https://docs.rs/tokio/0.2.10/tokio/task/fn.spawn_blocking.html). + /// /// # Examples /// /// ``` |