diff options
author | Matthias Einwag <matthias.einwag@live.com> | 2020-05-02 14:19:28 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-02 14:19:28 -0700 |
commit | 187af2e6a323be4193c82ad95f9aa32d2ae16869 (patch) | |
tree | 1c7ffff79471905383b74aad7abcfcfc3e6e2b28 /tokio/src/sync/mod.rs | |
parent | 31315b94638d8d5912c5f8321d365fd6a210a060 (diff) |
sync: add CancellationToken (#2263)
As a first step towards structured concurrency, this change adds a
CancellationToken for graceful cancellation of tasks.
The task can be awaited by an arbitrary amount of tasks due to the usage
of an intrusive list.
The token can be cloned. In addition to this child tokens can be derived.
When the parent token gets cancelled, all child tokens will also get
cancelled.
Diffstat (limited to 'tokio/src/sync/mod.rs')
-rw-r--r-- | tokio/src/sync/mod.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tokio/src/sync/mod.rs b/tokio/src/sync/mod.rs index 359b14f5..b2c66e44 100644 --- a/tokio/src/sync/mod.rs +++ b/tokio/src/sync/mod.rs @@ -425,6 +425,11 @@ cfg_sync! { pub mod broadcast; + #[cfg(tokio_unstable)] + mod cancellation_token; + #[cfg(tokio_unstable)] + pub use cancellation_token::{CancellationToken, WaitForCancellationFuture}; + pub mod mpsc; mod mutex; |