diff options
author | 2015-05-29 23:09:26 -0700 | |
---|---|---|
committer | 2015-05-29 23:09:26 -0700 | |
commit | 52760dd0e5d478d49d6614597749bbec01a7a057 (patch) | |
tree | dab108e02ae9a81bc941de9e9832e9287c166670 /src/core/surface/server.c | |
parent | 3e9ff5c04abb218e35bc2e15d567620b63c77616 (diff) |
Trigger server shutdown check where it needs to be
Diffstat (limited to 'src/core/surface/server.c')
-rw-r--r-- | src/core/surface/server.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/surface/server.c b/src/core/surface/server.c index a72dd8ece4..6118e43620 100644 --- a/src/core/surface/server.c +++ b/src/core/surface/server.c @@ -196,6 +196,7 @@ static void begin_call(grpc_server *server, call_data *calld, static void fail_call(grpc_server *server, requested_call *rc); static void shutdown_channel(channel_data *chand, int send_goaway, int send_disconnect); +static void maybe_finish_shutdown(grpc_server *server); static int call_list_join(call_data **root, call_data *call, call_list list) { GPR_ASSERT(!call->root[list]); @@ -315,6 +316,7 @@ static void destroy_channel(channel_data *chand) { GPR_ASSERT(chand->server != NULL); orphan_channel(chand); server_ref(chand->server); + maybe_finish_shutdown(chand->server); grpc_iomgr_add_callback(finish_destroy_channel, chand); } |