From c898417302f4f28013e7cc21bb4476d150c962cf Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Thu, 8 Dec 2016 09:40:33 -0800 Subject: [PATCH] Fix race condition on shutdown. --- src/core/lib/security/transport/security_handshaker.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/core/lib/security/transport/security_handshaker.c b/src/core/lib/security/transport/security_handshaker.c index 628c747bf6e..41a775db855 100644 --- a/src/core/lib/security/transport/security_handshaker.c +++ b/src/core/lib/security/transport/security_handshaker.c @@ -131,6 +131,9 @@ static void security_handshake_failed_locked(grpc_exec_ctx *exec_ctx, // Not shutting down, so the write failed. Clean up before // invoking the callback. cleanup_args_for_failure_locked(h); + // Set shutdown to true so that subsequent calls to + // security_handshaker_shutdown() do nothing. + h->shutdown = true; } // Invoke callback. grpc_exec_ctx_sched(exec_ctx, h->on_handshake_done, error, NULL);