Project

General

Profile

Bug #11600 » test.rb

ruby test.rb - erkkie (Erkki Eilonen), 10/18/2015 10:22 AM

 
require 'socket'
require 'tempfile'

temp = []
loop do
begin
temp << Tempfile.new("x")
rescue Errno::EMFILE
rand = Random.rand(4) + 1
puts "#{temp.size} tempfiles"
puts "freeing #{rand}"
rand.times do
temp.pop.close
end
break
end
end

loop do
threads = []
20.times do
threads << Thread.new do
begin
Socket.getaddrinfo("google.com", nil)
rescue Errno::EMFILE
end
end
end
threads.each {|t| t.join }
end
(1-1/2)