--- /opt/rh/ruby200/root/usr/share/ruby/resolv.rb 2011-10-31 08:03:49.000000000 -0400 +++ resolv.rb 2015-01-16 14:25:26.556225214 -0500 @@ -507,10 +507,17 @@ def each_resource(name, typeclass, &proc) lazy_initialize - requester = make_udp_requester senders = {} + requester = nil + begin + requester = make_udp_requester + rescue Errno::EACCES + # fall back to TCP + end + begin @config.resolv(name) {|candidate, tout, nameserver, port| + requester ||= make_tcp_requester(nameserver, port) msg = Message.new msg.rd = 1 msg.add_question(candidate, typeclass) @@ -542,7 +549,7 @@ end } ensure - requester.close + requester.close unless requester.nil? end end