|
|
|
@ -195,8 +195,8 @@ class ChannelConnectivityWatcher : private GrpcLibraryCodegen { |
|
|
|
|
int channel_count_; |
|
|
|
|
|
|
|
|
|
std::mutex shutdown_mu_; |
|
|
|
|
std::condition_variable shutdown_cv_; // protected by shutdown_cv_
|
|
|
|
|
bool shutdown_; // protected by shutdown_cv_
|
|
|
|
|
std::condition_variable shutdown_cv_; // protected by shutdown_mu_
|
|
|
|
|
bool shutdown_; // protected by shutdown_mu_
|
|
|
|
|
|
|
|
|
|
static std::mutex g_watcher_mu_; |
|
|
|
|
static ChannelConnectivityWatcher* g_watcher_; // protected by g_watcher_mu_
|
|
|
|
@ -222,11 +222,11 @@ Channel::Channel(const grpc::string& host, grpc_channel* channel) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Channel::~Channel() { |
|
|
|
|
if (grpc_channel_support_connectivity_watcher(c_channel_)) { |
|
|
|
|
grpc_channel_destroy(c_channel_); |
|
|
|
|
const bool stop_watching = |
|
|
|
|
grpc_channel_support_connectivity_watcher(c_channel_); |
|
|
|
|
grpc_channel_destroy(c_channel_); |
|
|
|
|
if (stop_watching) { |
|
|
|
|
ChannelConnectivityWatcher::StopWatching(); |
|
|
|
|
} else { |
|
|
|
|
grpc_channel_destroy(c_channel_); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|