From: nobuyoshi nakada Date: 2005-10-14T11:26:25+09:00 Subject: Re: Thread leak? Hi, At Fri, 14 Oct 2005 02:16:15 +0900, Adam Beguelin wrote in [ruby-talk:160449]: > begin > execLine = "sleep 100" > while true do > t = Thread.new { > begin > e = IO.popen(execLine) > e.readlines > ensure if e && !e.closed? Process.kill(e.pid) e.close end > end > } > > begin > timeout(1) { t.join } > rescue TimeoutError => e > puts "timeout: "+e.to_s > t.kill > end > c = 0 > ObjectSpace.garbage_collect > ObjectSpace.each_object{|t| c += 1 if t.class == Thread} > puts "num threads #{c}" > break if c > 20 > end > end -- Nobu Nakada