diff --git a/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannel.m b/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannel.m index 5ad1cb462d4..5727f01c96a 100644 --- a/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannel.m +++ b/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannel.m @@ -291,8 +291,11 @@ } - (void)dealloc { - if (_unmanagedChannel) { - grpc_channel_destroy(_unmanagedChannel); + @synchronized(self) { + if (_unmanagedChannel) { + grpc_channel_destroy(_unmanagedChannel); + _unmanagedChannel = NULL; + } } }