Bug #13533
closed
Added by normalperson (Eric Wong) almost 7 years ago.
Updated almost 7 years ago.
Description
This bug causes busy wait (100% CPU usage) on IO.copy_stream
with sockets/pipes with O_NONBLOCK set.
In other words, the following code should not cause 100% CPU usage,
just hang forever w/o burning CPU:
require 'io/nonblock'
r, w = IO.pipe
r.nonblock = true
IO.copy_stream(r, IO::NULL)
This affects Ruby 2.3 and 2.4.
- Backport changed from 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN to 2.2: UNKNOWN, 2.3: REQUIRED, 2.4: REQUIRED
- Status changed from Open to Closed
closing to trigger backport request
- Backport changed from 2.2: UNKNOWN, 2.3: REQUIRED, 2.4: REQUIRED to 2.2: UNKNOWN, 2.3: REQUIRED, 2.4: DONE
ruby_2_4 r58622 merged revision(s) 58534.
- Backport changed from 2.2: UNKNOWN, 2.3: REQUIRED, 2.4: DONE to 2.2: UNKNOWN, 2.3: DONE, 2.4: DONE
ruby_2_3 r59216 merged revision(s) 58534.
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0