summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/ruby/test_io.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index 7843fa0877..27077b425b 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -3839,11 +3839,13 @@ __END__
Thread.new { IO.select(rset, wset, nil, 0) }.join
end;
th = Thread.new do
- begin
- IO.select(rset, wset)
- rescue
- retry
- end while true
+ Thread.handle_interrupt(StandardError => :on_blocking) do
+ begin
+ IO.select(rset, wset)
+ rescue
+ retry
+ end while true
+ end
end
50_000.times do
Thread.pass until th.stop?