From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/tokio/src/blocking.rs | 48 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 vendor/tokio/src/blocking.rs (limited to 'vendor/tokio/src/blocking.rs') diff --git a/vendor/tokio/src/blocking.rs b/vendor/tokio/src/blocking.rs new file mode 100644 index 000000000..f88b1db11 --- /dev/null +++ b/vendor/tokio/src/blocking.rs @@ -0,0 +1,48 @@ +cfg_rt! { + pub(crate) use crate::runtime::spawn_blocking; + pub(crate) use crate::task::JoinHandle; +} + +cfg_not_rt! { + use std::fmt; + use std::future::Future; + use std::pin::Pin; + use std::task::{Context, Poll}; + + pub(crate) fn spawn_blocking(_f: F) -> JoinHandle + where + F: FnOnce() -> R + Send + 'static, + R: Send + 'static, + { + assert_send_sync::>>(); + panic!("requires the `rt` Tokio feature flag") + + } + + pub(crate) struct JoinHandle { + _p: std::marker::PhantomData, + } + + unsafe impl Send for JoinHandle {} + unsafe impl Sync for JoinHandle {} + + impl Future for JoinHandle { + type Output = Result; + + fn poll(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll { + unreachable!() + } + } + + impl fmt::Debug for JoinHandle + where + T: fmt::Debug, + { + fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result { + fmt.debug_struct("JoinHandle").finish() + } + } + + fn assert_send_sync() { + } +} -- cgit v1.2.3