diff options
author | 2018-09-13 15:16:02 -0700 | |
---|---|---|
committer | 2018-09-13 15:16:02 -0700 | |
commit | 1819935efbb2fb014c0c29bc47f5045fbcf5c6cf (patch) | |
tree | b59127474ac1b007a44d4209caadc27e7355a52a /src/core/lib/surface/completion_queue.cc | |
parent | 30e7b02b5c8bc55c109ed84dfa30663ce90e134b (diff) | |
parent | 07eecd8421314d62e8df33b14a33203864f91bee (diff) |
Merge branch 'master' into statuscaution
Diffstat (limited to 'src/core/lib/surface/completion_queue.cc')
-rw-r--r-- | src/core/lib/surface/completion_queue.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/lib/surface/completion_queue.cc b/src/core/lib/surface/completion_queue.cc index 0769d9e4f6..c2cf450e94 100644 --- a/src/core/lib/surface/completion_queue.cc +++ b/src/core/lib/surface/completion_queue.cc @@ -1364,9 +1364,11 @@ static void cq_shutdown_callback(grpc_completion_queue* cq) { } cqd->shutdown_called = true; if (gpr_atm_full_fetch_add(&cqd->pending_events, -1) == 1) { + gpr_mu_unlock(cq->mu); cq_finish_shutdown_callback(cq); + } else { + gpr_mu_unlock(cq->mu); } - gpr_mu_unlock(cq->mu); GRPC_CQ_INTERNAL_UNREF(cq, "shutting_down (callback cq)"); } |