From 73e65b88ba058dd1bffcf3d90f7733a9188f6714 Mon Sep 17 00:00:00 2001 From: apolcyn Date: Fri, 9 Jul 2021 12:49:15 -0700 Subject: [PATCH] Prevent race causing early-destruction of grpc_winsocket object when starting a TCP connection (#26642) --- src/core/lib/iomgr/tcp_client_windows.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/lib/iomgr/tcp_client_windows.cc b/src/core/lib/iomgr/tcp_client_windows.cc index ef260cad752..1f862dede56 100644 --- a/src/core/lib/iomgr/tcp_client_windows.cc +++ b/src/core/lib/iomgr/tcp_client_windows.cc @@ -206,8 +206,10 @@ static void tcp_connect(grpc_closure* on_done, grpc_endpoint** endpoint, GRPC_CLOSURE_INIT(&ac->on_connect, on_connect, ac, grpc_schedule_on_exec_ctx); GRPC_CLOSURE_INIT(&ac->on_alarm, on_alarm, ac, grpc_schedule_on_exec_ctx); + gpr_mu_lock(&ac->mu); grpc_timer_init(&ac->alarm, deadline, &ac->on_alarm); grpc_socket_notify_on_write(socket, &ac->on_connect); + gpr_mu_unlock(&ac->mu); return; failure: