summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_io.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index a6a8e78209..1c45787648 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -3800,4 +3800,20 @@ __END__
assert_equal 'done', noex.value ,'r63216'
end
end
+
+ def test_select_leak
+ assert_no_memory_leak([], <<-"end;", <<-"end;", rss: true, timeout: 30)
+ r, w = IO.pipe
+ rset = [r]
+ wset = [w]
+ Thread.new { IO.select(rset, wset, nil, 0) }.join
+ end;
+ 200000.times do
+ th = Thread.new { IO.select(rset, wset) }
+ Thread.pass until th.stop?
+ th.kill
+ th.join
+ end
+ end;
+ end
end