Actions
Bug #15367
openIO.select is not resumed when io-object gets closed
Description
Here is sample code:
rp, wp = IO.pipe
t2 = Thread.new { IO.select([rp]) }
# This also does not work:
# t2 = Thread.new { IO.select([rp], nil, [rp]) }
sleep 0.01
rp.close
t2
# => #<Thread:0x00000000089b6ce0@(pry):51 sleep>
It happens only on linux, tested with 2.5.1, 2.6.0-preview2. On macOS it gives error, as expected:
#<Thread:0x00007fab3aebce58@(pry):5 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
1: from (pry):5:in `block in <main>'
(pry):5:in `select': Bad file descriptor (Errno::EBADF)
> t2
=> #<Thread:0x00007fab3aebce58@(pry):5 dead>
Actions
Like0
Like0Like0Like0Like0Like0Like0