diff --git a/lib/mongo/connection.rb b/lib/mongo/connection.rb index 52baeeb..b2ff882 100644 --- a/lib/mongo/connection.rb +++ b/lib/mongo/connection.rb @@ -750,9 +750,14 @@ module Mongo end def receive(sock, expected_response) + begin receive_header(sock, expected_response) number_received, cursor_id = receive_response_header(sock) read_documents(number_received, cursor_id, sock) + rescue Mongo::ConnectionFailure => ex + close + raise ex + end end def receive_header(sock, expected_response)