From 8fd89eb2a4d1b018463dfbca99f18054670ea278 Mon Sep 17 00:00:00 2001 From: Kyle Banker Date: Tue, 13 Dec 2011 15:03:00 -0500 Subject: [PATCH] RUBY-386 extend ismaster timeout to Connection --- lib/mongo/connection.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/mongo/connection.rb b/lib/mongo/connection.rb index 1a5bdaf..57c3947 100644 --- a/lib/mongo/connection.rb +++ b/lib/mongo/connection.rb @@ -615,7 +615,13 @@ module Mongo socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) end - config = self['admin'].command({:ismaster => 1}, :socket => socket) + if @connect_timeout + Mongo::TimeoutHandler.timeout(@connect_timeout, OperationTimeout) do + config = self['admin'].command({:ismaster => 1}, :socket => socket) + end + else + config = self['admin'].command({:ismaster => 1}, :socket => socket) + end rescue OperationFailure, SocketError, SystemCallError, IOError => ex close ensure