From a6a7d988b4fe31a6f9a7662662ac8b501933446f Mon Sep 17 00:00:00 2001 From: normal Date: Fri, 23 Nov 2018 21:38:41 +0000 Subject: [PATCH] io.c (io_fd_check_closed): prioritize cross-thread "stream closed" This may fix failures from TestIO#test_recycled_fd_close because interrupts may be missed due to TOCTOU in other places. cf. http://ci.rvm.jp/results/trunk-nopara@silicon-docker/1475034 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/io.c b/io.c index 7085acf467..680659e333 100644 --- a/io.c +++ b/io.c @@ -638,7 +638,8 @@ static void io_fd_check_closed(int fd) { if (fd < 0) { - rb_raise(rb_eIOError, closed_stream); + rb_thread_check_ints(); /* check for ruby_error_stream_closed */ + rb_raise(rb_eIOError, closed_stream); } }