aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Noah Eisen <ncteisen@google.com>2017-12-13 16:44:35 -0800
committerGravatar Noah Eisen <ncteisen@google.com>2017-12-13 16:44:35 -0800
commit430f745e6b9118b02a34930ac850ce819889f3e5 (patch)
tree05a8b5c27e600ff9b6df3f50f4b8a9534a5596c3
parent78335ac3769b27ccb7c76f034293619ee76cd36d (diff)
Fix tsan in bad_client tests
-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) {