diff options
Diffstat (limited to 'tokio/src/sync/mpsc')
-rw-r--r-- | tokio/src/sync/mpsc/bounded.rs | 11 | ||||
-rw-r--r-- | tokio/src/sync/mpsc/chan.rs | 6 | ||||
-rw-r--r-- | tokio/src/sync/mpsc/list.rs | 7 | ||||
-rw-r--r-- | tokio/src/sync/mpsc/mod.rs | 2 |
4 files changed, 8 insertions, 18 deletions
diff --git a/tokio/src/sync/mpsc/bounded.rs b/tokio/src/sync/mpsc/bounded.rs index 523dde75..d635e138 100644 --- a/tokio/src/sync/mpsc/bounded.rs +++ b/tokio/src/sync/mpsc/bounded.rs @@ -161,12 +161,13 @@ impl<T> Receiver<T> { impl<T> Unpin for Receiver<T> {} -#[cfg(feature = "stream")] -impl<T> futures_core::Stream for Receiver<T> { - type Item = T; +cfg_stream! { + impl<T> futures_core::Stream for Receiver<T> { + type Item = T; - fn poll_next(mut self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<T>> { - self.poll_recv(cx) + fn poll_next(mut self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<T>> { + self.poll_recv(cx) + } } } diff --git a/tokio/src/sync/mpsc/chan.rs b/tokio/src/sync/mpsc/chan.rs index 03f35339..4030e380 100644 --- a/tokio/src/sync/mpsc/chan.rs +++ b/tokio/src/sync/mpsc/chan.rs @@ -299,12 +299,6 @@ where // second time here. try_recv!(); - debug!( - "recv; rx_closed = {:?}; is_idle = {:?}", - rx_fields.rx_closed, - self.inner.semaphore.is_idle() - ); - if rx_fields.rx_closed && self.inner.semaphore.is_idle() { Ready(None) } else { diff --git a/tokio/src/sync/mpsc/list.rs b/tokio/src/sync/mpsc/list.rs index eecc4da3..dc956403 100644 --- a/tokio/src/sync/mpsc/list.rs +++ b/tokio/src/sync/mpsc/list.rs @@ -169,7 +169,6 @@ impl<T> Tx<T> { } pub(crate) unsafe fn reclaim_block(&self, mut block: NonNull<Block<T>>) { - debug!("+ reclaim_block({:p})", block); // The block has been removed from the linked list and ownership // is reclaimed. // @@ -206,7 +205,6 @@ impl<T> Tx<T> { } if !reused { - debug!(" + block freed {:p}", block); let _ = Box::from_raw(block.as_ptr()); } } @@ -226,7 +224,6 @@ impl<T> Rx<T> { pub(crate) fn pop(&mut self, tx: &Tx<T>) -> Option<block::Read<T>> { // Advance `head`, if needed if !self.try_advancing_head() { - debug!("+ !self.try_advancing_head() -> false"); return None; } @@ -276,8 +273,6 @@ impl<T> Rx<T> { } fn reclaim_blocks(&mut self, tx: &Tx<T>) { - debug!("+ reclaim_blocks()"); - while self.free_head != self.head { unsafe { // Get a handle to the block that will be freed and update @@ -316,7 +311,6 @@ impl<T> Rx<T> { /// Effectively `Drop` all the blocks. Should only be called once, when /// the list is dropping. pub(super) unsafe fn free_blocks(&mut self) { - debug!("+ free_blocks()"); debug_assert_ne!(self.free_head, NonNull::dangling()); let mut cur = Some(self.free_head); @@ -331,7 +325,6 @@ impl<T> Rx<T> { while let Some(block) = cur { cur = block.as_ref().load_next(Relaxed); - debug!(" + free: block = {:p}", block); drop(Box::from_raw(block.as_ptr())); } } diff --git a/tokio/src/sync/mpsc/mod.rs b/tokio/src/sync/mpsc/mod.rs index 7927dde6..60ae60cd 100644 --- a/tokio/src/sync/mpsc/mod.rs +++ b/tokio/src/sync/mpsc/mod.rs @@ -1,3 +1,5 @@ +#![cfg_attr(not(feature = "sync"), allow(dead_code, unreachable_pub))] + //! A multi-producer, single-consumer queue for sending values across //! asynchronous tasks. //! |