diff options
Diffstat (limited to 'library/std/src/sync/mpmc/list.rs')
| -rw-r--r-- | library/std/src/sync/mpmc/list.rs | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/library/std/src/sync/mpmc/list.rs b/library/std/src/sync/mpmc/list.rs index 5bc196995b1..4761125e483 100644 --- a/library/std/src/sync/mpmc/list.rs +++ b/library/std/src/sync/mpmc/list.rs @@ -418,19 +418,9 @@ impl<T> Channel<T> { pub(crate) fn recv(&self, deadline: Option<Instant>) -> Result<T, RecvTimeoutError> { let token = &mut Token::default(); loop { - // Try receiving a message several times. - let backoff = Backoff::new(); - loop { - if self.start_recv(token) { - unsafe { - return self.read(token).map_err(|_| RecvTimeoutError::Disconnected); - } - } - - if backoff.is_completed() { - break; - } else { - backoff.snooze(); + if self.start_recv(token) { + unsafe { + return self.read(token).map_err(|_| RecvTimeoutError::Disconnected); } } |
