aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/iomgr
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-03-31 14:54:02 -0700
committerGravatar Craig Tiller <ctiller@google.com>2017-03-31 14:54:02 -0700
commitac50b27992697eaf806ad9a52332938c5f6b5c89 (patch)
tree148edf1da9227a80a954b4e38bc52aa74dc64f98 /src/core/lib/iomgr
parentcf11476c3bc7d323482154c0bc168dab440aed38 (diff)
Fix a bug whereby we miss some wakeups in highly concurrent situations
Diffstat (limited to 'src/core/lib/iomgr')
-rw-r--r--src/core/lib/iomgr/timer_generic.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c
index c7ce76ad93..497875a2f2 100644
--- a/src/core/lib/iomgr/timer_generic.c
+++ b/src/core/lib/iomgr/timer_generic.c
@@ -477,6 +477,8 @@ static int run_some_expired_timers(grpc_exec_ctx *exec_ctx, gpr_atm now,
g_shard_queue[0]->min_deadline);
gpr_mu_unlock(&g_shared_mutables.mu);
gpr_spinlock_unlock(&g_shared_mutables.checker_mu);
+ } else {
+ if (next != NULL) *next = GPR_MIN(*next, min_timer);
}
GRPC_ERROR_UNREF(error);