summaryrefslogtreecommitdiffstats
path: root/tokio/src/sync/mod.rs
diff options
context:
space:
mode:
authorMatthias Einwag <matthias.einwag@live.com>2020-05-02 14:19:28 -0700
committerGitHub <noreply@github.com>2020-05-02 14:19:28 -0700
commit187af2e6a323be4193c82ad95f9aa32d2ae16869 (patch)
tree1c7ffff79471905383b74aad7abcfcfc3e6e2b28 /tokio/src/sync/mod.rs
parent31315b94638d8d5912c5f8321d365fd6a210a060 (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.rs5
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;