diff --git a/lib/mongo/util/node.rb b/lib/mongo/util/node.rb index ca688b5..a8d8108 100644 --- a/lib/mongo/util/node.rb +++ b/lib/mongo/util/node.rb @@ -101,12 +101,12 @@ module Mongo rescue ConnectionFailure, OperationFailure, OperationTimeout, SocketError, SystemCallError, IOError => ex @connection.log(:warn, "Attempted connection to node #{host_string} raised " + "#{ex.class}: #{ex.message}") - + # Socket may already be nil from issuing command if @socket && !@socket.closed? @socket.close end - + return nil end diff --git a/lib/mongo/util/pool.rb b/lib/mongo/util/pool.rb index 92ccaf8..f04a705 100644 --- a/lib/mongo/util/pool.rb +++ b/lib/mongo/util/pool.rb @@ -224,10 +224,10 @@ module Mongo end if @pids[socket] != Process.pid - @pids[socket] = nil - @sockets.delete(socket) - socket.close if socket - checkout_new_socket + @pids[socket] = nil + @sockets.delete(socket) + socket.close if socket + checkout_new_socket else @checked_out << socket @threads_to_sockets[Thread.current] = socket