[#81492] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — normalperson@...

Issue #13618 has been reported by normalperson (Eric Wong).

12 messages 2017/06/01

[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.

From: Eric Wong <normalperson@...>
Date: 2017-06-07 20:05:26 UTC
List: ruby-core #81613
Eric Wong <normalperson@yhbt.net> 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next