summaryrefslogtreecommitdiff
path: root/src/mongo/client/replica_set_monitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/client/replica_set_monitor.cpp')
-rw-r--r--src/mongo/client/replica_set_monitor.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/client/replica_set_monitor.cpp b/src/mongo/client/replica_set_monitor.cpp
index 8b126fc00f2..3a2276c252f 100644
--- a/src/mongo/client/replica_set_monitor.cpp
+++ b/src/mongo/client/replica_set_monitor.cpp
@@ -495,6 +495,18 @@ void ReplicaSetMonitor::cleanup() {
seedServers = StringMap<set<HostAndPort>>();
}
+bool ReplicaSetMonitor::isKnownToHaveGoodPrimary() const {
+ boost::mutex::scoped_lock lk(_state->mutex);
+
+ for (const auto& node : _state->nodes) {
+ if (node.isMaster) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
Refresher::Refresher(const SetStatePtr& setState)
: _set(setState), _scan(setState->currentScan), _startedNewScan(false) {
if (_scan)