aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core/lib/iomgr/resource_quota.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc
index cabe28e4e6..eaf2f5d1b2 100644
--- a/src/core/lib/iomgr/resource_quota.cc
+++ b/src/core/lib/iomgr/resource_quota.cc
@@ -507,6 +507,7 @@ static void ru_shutdown(void* ru, grpc_error* error) {
gpr_log(GPR_DEBUG, "RU shutdown %p", ru);
}
grpc_resource_user* resource_user = (grpc_resource_user*)ru;
+ gpr_mu_lock(&resource_user->mu);
GRPC_CLOSURE_SCHED(resource_user->reclaimers[0], GRPC_ERROR_CANCELLED);
GRPC_CLOSURE_SCHED(resource_user->reclaimers[1], GRPC_ERROR_CANCELLED);
resource_user->reclaimers[0] = nullptr;
@@ -516,6 +517,7 @@ static void ru_shutdown(void* ru, grpc_error* error) {
if (resource_user->allocating) {
rq_step_sched(resource_user->resource_quota);
}
+ gpr_mu_unlock(&resource_user->mu);
}
static void ru_destroy(void* ru, grpc_error* error) {