summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tokio/src/runtime/thread_pool/worker.rs4
-rw-r--r--tokio/src/task/blocking.rs6
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
///
/// ```