aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Yang Gao <yangg@google.com>2017-03-13 15:37:39 -0700
committerGravatar GitHub <noreply@github.com>2017-03-13 15:37:39 -0700
commit767adee10fb6528d684c48135f7ea9cd78c2e999 (patch)
tree5704a4a3dad0a8c2f4653529e13c19c46c2761ce /src
parentbe9f8ae8c10c9dcbeefca12a577f600f2feaa92b (diff)
parentaef398bd8811dd292bb90c69f73c6d7c6e918e69 (diff)
Merge pull request #10028 from yang-g/orphan
Only cleanup the listeners when shutdown is set
Diffstat (limited to 'src')
-rw-r--r--src/core/lib/iomgr/tcp_server_posix.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c
index 5f286a6723..8c371bc8ba 100644
--- a/src/core/lib/iomgr/tcp_server_posix.c
+++ b/src/core/lib/iomgr/tcp_server_posix.c
@@ -260,10 +260,7 @@ static void deactivated_all_ports(grpc_exec_ctx *exec_ctx, grpc_tcp_server *s) {
/* delete ALL the things */
gpr_mu_lock(&s->mu);
- if (!s->shutdown) {
- gpr_mu_unlock(&s->mu);
- return;
- }
+ GPR_ASSERT(s->shutdown);
if (s->head) {
grpc_tcp_listener *sp;
@@ -469,7 +466,7 @@ static void on_read(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *err) {
error:
gpr_mu_lock(&sp->server->mu);
- if (0 == --sp->server->active_ports) {
+ if (0 == --sp->server->active_ports && sp->server->shutdown) {
gpr_mu_unlock(&sp->server->mu);
deactivated_all_ports(exec_ctx, sp->server);
} else {