From 04a841f29a7b9efb2ccd7741c9a29b70c8407073 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" <pixel@nobis-crew.org> Date: Tue, 23 Jun 2015 01:57:21 +0200 Subject: [PATCH] Fixing recursive locking under Windows. Shutting down is synchronous under Windows, so we don't want to do that while holding a lock. --- src/core/security/server_secure_chttp2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/security/server_secure_chttp2.c b/src/core/security/server_secure_chttp2.c index b312bdd0b6..53afa1caad 100644 --- a/src/core/security/server_secure_chttp2.c +++ b/src/core/security/server_secure_chttp2.c @@ -138,10 +138,12 @@ static void destroy_done(void *statep) { callbacks) */ static void destroy(grpc_server *server, void *statep) { grpc_server_secure_state *state = statep; + grpc_tcp_server *tcp; gpr_mu_lock(&state->mu); state->is_shutdown = 1; - grpc_tcp_server_destroy(state->tcp, destroy_done, state); + tcp = state->tcp; gpr_mu_unlock(&state->mu); + grpc_tcp_server_destroy(tcp, destroy_done, state); } int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, -- GitLab