summaryrefslogtreecommitdiffstats
path: root/tokio/src/sync/batch_semaphore.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tokio/src/sync/batch_semaphore.rs')
-rw-r--r--tokio/src/sync/batch_semaphore.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/tokio/src/sync/batch_semaphore.rs b/tokio/src/sync/batch_semaphore.rs
index 29f659a0..0a3724b4 100644
--- a/tokio/src/sync/batch_semaphore.rs
+++ b/tokio/src/sync/batch_semaphore.rs
@@ -389,7 +389,7 @@ impl Future for Acquire<'_> {
fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
// First, ensure the current task has enough budget to proceed.
- ready!(crate::coop::poll_proceed(cx));
+ let coop = ready!(crate::coop::poll_proceed(cx));
let (node, semaphore, needed, queued) = self.project();
@@ -399,6 +399,7 @@ impl Future for Acquire<'_> {
Pending
}
Ready(r) => {
+ coop.made_progress();
r?;
*queued = false;
Ready(Ok(()))