From dd8a80fa9a11fc6f77db0b9c4bc2edf25b89f174 Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Tue, 4 Aug 2015 11:05:56 -0700
Subject: [PATCH] clarified comment and silenced error log

---
 src/core/iomgr/tcp_server_windows.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/core/iomgr/tcp_server_windows.c b/src/core/iomgr/tcp_server_windows.c
index 260948c76f..0adbe9507c 100644
--- a/src/core/iomgr/tcp_server_windows.c
+++ b/src/core/iomgr/tcp_server_windows.c
@@ -247,8 +247,12 @@ static void start_accept(server_port *port) {
 failure:
   if (port->shutting_down) {
     /* We are abandoning the listener port, take that into account to prevent
-       occasional hangs on shutdown. */
+       occasional hangs on shutdown. The hang happens when sp->shutting_down
+       change is not seen by on_accept and we proceed to trying new accept,
+       but we fail there because the listening port has been closed in the
+       meantime. */
     decrement_active_ports_and_notify(port);
+    return;
   }
   utf8_message = gpr_format_message(WSAGetLastError());
   gpr_log(GPR_ERROR, message, utf8_message);
-- 
GitLab