aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/server.h
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-04-07 14:32:15 -0700
committerGravatar Craig Tiller <ctiller@google.com>2015-04-07 16:20:48 -0700
commitaec96aa2232b3ab7f86bc08a99f82684406edf0b (patch)
treebfba274bab64544dafb29256788138be5039f965 /src/core/surface/server.h
parent106882854b40775ac570fbf307ad978e808d8e62 (diff)
Fix server shutdown
A previous fix to make close() occur later can cause socket reuse by servers to fail as previous sockets are left asynchronously open. This change: - adds a callback to TCP server shutdown to signal that the server is completely shutdown - wait for that callback before destroying listeners in the server (and before destroying the server) - handles fallout
Diffstat (limited to 'src/core/surface/server.h')
-rw-r--r--src/core/surface/server.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/surface/server.h b/src/core/surface/server.h
index e33f69b8c7..548a16c6c9 100644
--- a/src/core/surface/server.h
+++ b/src/core/surface/server.h
@@ -51,6 +51,8 @@ void grpc_server_add_listener(grpc_server *server, void *listener,
grpc_pollset **pollsets, size_t npollsets),
void (*destroy)(grpc_server *server, void *arg));
+void grpc_server_listener_destroy_done(void *server);
+
/* Setup a transport - creates a channel stack, binds the transport to the
server */
grpc_transport_setup_result grpc_server_setup_transport(