From 144446434507dcc6d4583a04e723904df5cd2718 Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Tue, 7 Mar 2017 16:21:55 -0800
Subject: [PATCH] Fix locking

---
 src/core/lib/iomgr/tcp_server_posix.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c
index a17f6d48ef..5f286a6723 100644
--- a/src/core/lib/iomgr/tcp_server_posix.c
+++ b/src/core/lib/iomgr/tcp_server_posix.c
@@ -424,12 +424,14 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *err) {
           grpc_fd_notify_on_read(exec_ctx, sp->emfd, &sp->read_closure);
           return;
         default:
+          gpr_mu_lock(&sp->server->mu);
           if (!sp->server->shutdown_listeners) {
             gpr_log(GPR_ERROR, "Failed accept4: %s", strerror(errno));
           } else {
             /* if we have shutdown listeners, accept4 could fail, and we
                needn't notify users */
           }
+          gpr_mu_unlock(&sp->server->mu);
           goto error;
       }
     }
-- 
GitLab