diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m index 9d7b3a7f0bf994c3127a621afbe1a576a7a1d2a1..7031e01eb11bd935869a467c2af6778cb2acfcb2 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.m +++ b/src/objective-c/GRPCClient/private/GRPCHost.m @@ -100,19 +100,16 @@ static GRPCConnectivityMonitor *connectivityMonitor = nil; _address = address; _secure = YES; kHostCache[address] = self; - - // When there is host in the cache, keep a single monitor to the network - // to - // flush the cache if the connectivity status changed - if (!connectivityMonitor) { - connectivityMonitor = - [GRPCConnectivityMonitor monitorWithHost:hostURL.host]; - void (^handler)() = ^{ - [GRPCHost flushChannelCache]; - }; - [connectivityMonitor handleLossWithHandler:handler - wifiStatusChangeHandler:handler]; - } + } + // Keep a single monitor to flush the cache if the connectivity status changed + if (!connectivityMonitor) { + connectivityMonitor = + [GRPCConnectivityMonitor monitorWithHost:hostURL.host]; + void (^handler)() = ^{ + [GRPCHost flushChannelCache]; + }; + [connectivityMonitor handleLossWithHandler:handler + wifiStatusChangeHandler:handler]; } } return self; @@ -125,8 +122,6 @@ static GRPCConnectivityMonitor *connectivityMonitor = nil; BOOL * _Nonnull stop) { [host disconnect]; }]; - [kHostCache removeAllObjects]; - connectivityMonitor = nil; } }