# File lib/mongo/mongo_replica_set_client.rb, line 333 def checkout ensure_manager connected? ? sync_refresh : connect begin socket = yield rescue => ex checkin(socket) if socket raise ex end if socket socket else @connected = false raise ConnectionFailure.new("Could not checkout a socket.") end socket end