From: Eric Wong Date: 2017-06-07T20:05:26+00:00 Subject: [ruby-core:81613] Re: [Ruby trunk Bug#13632] Not processable interrupt queue for a thread after it's notified that FD is closed in some other thread. Eric Wong wrote: > sir.nickolas@gmail.com wrote: > > https://bugs.ruby-lang.org/issues/13632 > > r59020 should fix it trivially in trunk. Make that r59028 :x r59020 interacted badly with r57422 > Backporting to <= 2.4 is only a little different due to the > data structure change: r59028 backporting is more difficult. Below are links to backported patches from trunk to fix [Bug #13632] for Ruby 2.4 maintenance branches and earlier. I mainly wanted to backport r59028, but that depends on r58812 (originally intended as a pure performance optimization). I'd rather not change r59028 to something unrecognizable from what is in trunk for backporting, as that might negatively impact future backports. r58812: speed up IO#close with many threads https://80x24.org/spew/20170607195901.18958-2-e@80x24.org/raw r59028: IO#close: do not enqueue redundant interrupts (take #2) https://80x24.org/spew/20170607195901.18958-3-e@80x24.org/raw test/ruby/test_io.rb | 22 ++++++++++++++++++++++ thread.c | 33 ++++++++++++++++++++++++--------- vm.c | 1 - vm_core.h | 4 ++-- 4 files changed, 48 insertions(+), 12 deletions(-) Unsubscribe: