From 3a1104ffa348cc92f1fc3aa7e58db4d3ad408ebe Mon Sep 17 00:00:00 2001
From: Yuchen Zeng <zyc@google.com>
Date: Thu, 18 May 2017 19:07:10 -0700
Subject: [PATCH] Fix the flush of exec_ctx in port_server_client

---
 test/core/util/port_server_client.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test/core/util/port_server_client.c b/test/core/util/port_server_client.c
index d381cffdcc..f1dcdbb3c1 100644
--- a/test/core/util/port_server_client.c
+++ b/test/core/util/port_server_client.c
@@ -107,8 +107,8 @@ void grpc_free_port_using_server(int port) {
                                        grpc_schedule_on_exec_ctx),
                    &rsp);
   grpc_resource_quota_unref_internal(&exec_ctx, resource_quota);
-  gpr_mu_lock(pr.mu);
   grpc_exec_ctx_flush(&exec_ctx);
+  gpr_mu_lock(pr.mu);
   while (!pr.done) {
     grpc_pollset_worker *worker = NULL;
     if (!GRPC_LOG_IF_ERROR(
@@ -240,8 +240,8 @@ int grpc_pick_port_using_server(void) {
       grpc_closure_create(got_port_from_server, &pr, grpc_schedule_on_exec_ctx),
       &pr.response);
   grpc_resource_quota_unref_internal(&exec_ctx, resource_quota);
-  gpr_mu_lock(pr.mu);
   grpc_exec_ctx_flush(&exec_ctx);
+  gpr_mu_lock(pr.mu);
   while (pr.port == -1) {
     grpc_pollset_worker *worker = NULL;
     if (!GRPC_LOG_IF_ERROR(
-- 
GitLab