Be more principled about when blocking is ok (#2410)
This enables `block_in_place` to be used in more contexts. Specifically, it allows you to block whenever you are off the tokio runtime (like if you are not using tokio, are in a `spawn_blocking` closure, etc.), and in the threaded scheduler's `block_on`. Blocking in `LocalSet` and the basic scheduler's` block_on` is still disallowed. Fixes #2327. Fixes #2393.
Showing
- tokio/src/runtime/basic_scheduler.rs 1 addition, 1 deletiontokio/src/runtime/basic_scheduler.rs
- tokio/src/runtime/blocking/shutdown.rs 2 additions, 2 deletionstokio/src/runtime/blocking/shutdown.rs
- tokio/src/runtime/enter.rs 87 additions, 16 deletionstokio/src/runtime/enter.rs
- tokio/src/runtime/shell.rs 1 addition, 1 deletiontokio/src/runtime/shell.rs
- tokio/src/runtime/thread_pool/mod.rs 1 addition, 1 deletiontokio/src/runtime/thread_pool/mod.rs
- tokio/src/runtime/thread_pool/worker.rs 30 additions, 2 deletionstokio/src/runtime/thread_pool/worker.rs
- tokio/src/task/local.rs 2 additions, 0 deletionstokio/src/task/local.rs
- tokio/tests/task_blocking.rs 50 additions, 1 deletiontokio/tests/task_blocking.rs
Loading
Please register or sign in to comment