[前][次][番号順一覧][スレッド一覧]

ruby-changes:70156

From: Samuel <ko1@a...>
Date: Sat, 11 Dec 2021 14:29:38 +0900 (JST)
Subject: [ruby-changes:70156] b5c4570af4 (master): [ruby/reline] Prefer wait_readable for fiber scheduler.

https://git.ruby-lang.org/ruby.git/commit/?id=b5c4570af4

From b5c4570af4c6ae7341ee03e7fc2e140192ec32d8 Mon Sep 17 00:00:00 2001
From: Samuel Williams <samuel.williams@o...>
Date: Sat, 11 Dec 2021 18:18:15 +1300
Subject: [ruby/reline] Prefer wait_readable for fiber scheduler.

https://github.com/ruby/reline/commit/06b4aa31fd
---
 lib/reline/ansi.rb       | 2 +-
 lib/reline/general_io.rb | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/reline/ansi.rb b/lib/reline/ansi.rb
index c5648732419..00c7651d5ff 100644
--- a/lib/reline/ansi.rb
+++ b/lib/reline/ansi.rb
@@ -142,7 +142,7 @@ class Reline::ANSI https://github.com/ruby/ruby/blob/trunk/lib/reline/ansi.rb#L142
     unless @@buf.empty?
       return @@buf.shift
     end
-    until c = @@input.raw(intr: true) { select([@@input], [], [], 0.1) && @@input.getbyte }
+    until c = @@input.raw(intr: true) { @@input.wait_readable(0.1) && @@input.getbyte }
       Reline.core.line_editor.resize
     end
     (c == 0x16 && @@input.raw(min: 0, tim: 0, &:getbyte)) || c
diff --git a/lib/reline/general_io.rb b/lib/reline/general_io.rb
index 5df346882a3..3fafad5c6ef 100644
--- a/lib/reline/general_io.rb
+++ b/lib/reline/general_io.rb
@@ -1,4 +1,5 @@ https://github.com/ruby/ruby/blob/trunk/lib/reline/general_io.rb#L1
 require 'timeout'
+require 'io/wait'
 
 class Reline::GeneralIO
   def self.reset(encoding: nil)
@@ -36,7 +37,7 @@ class Reline::GeneralIO https://github.com/ruby/ruby/blob/trunk/lib/reline/general_io.rb#L37
     end
     c = nil
     loop do
-      result = select([@@input], [], [], 0.1)
+      result = @@input.wait_readable(0.1)
       next if result.nil?
       c = @@input.read(1)
       break
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]