diff options
author | 2017-03-13 15:37:39 -0700 | |
---|---|---|
committer | 2017-03-13 15:37:39 -0700 | |
commit | 767adee10fb6528d684c48135f7ea9cd78c2e999 (patch) | |
tree | 5704a4a3dad0a8c2f4653529e13c19c46c2761ce /src | |
parent | be9f8ae8c10c9dcbeefca12a577f600f2feaa92b (diff) | |
parent | aef398bd8811dd292bb90c69f73c6d7c6e918e69 (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.c | 7 |
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 { |