diff --git a/lib/mongo/db.rb b/lib/mongo/db.rb index bce8263..0990819 100644 --- a/lib/mongo/db.rb +++ b/lib/mongo/db.rb @@ -154,11 +154,11 @@ module Mongo is_master = master? @semaphore.lock if semaphore_is_locked - break if @slave_ok || is_master + @slave_ok || is_master rescue SocketError, SystemCallError, IOError => ex close if @socket + false end - @socket } raise "error: failed to connect to any given host:port" unless @socket end