diff --git a/lib/mongo/repl_set_connection.rb b/lib/mongo/repl_set_connection.rb index 7af05ca..cc3552e 100644 --- a/lib/mongo/repl_set_connection.rb +++ b/lib/mongo/repl_set_connection.rb @@ -401,10 +401,16 @@ module Mongo end end - def get_socket_from_pool(pool_type) - if Thread.current[:managers] && Thread.current[:managers][self] != @manager + def ensure_manager + Thread.current[:managers] ||= Hash.new + + if Thread.current[:managers][self] != @manager Thread.current[:managers][self] = @manager end + end + + def get_socket_from_pool(pool_type) + ensure_manager pool = case pool_type when :primary