From: "akr (Akira Tanaka)" Date: 2013-10-27T21:10:43+09:00 Subject: [ruby-dev:47776] [ruby-trunk - Bug #8749] Readline.readline stops STDOUT? Issue #8749 has been updated by akr (Akira Tanaka). この [ruby-dev:47033] [Bug #8749] と [ruby-core:57951] [Bug #9040] の件をあわせて修正する変更を入れました。 パッチを出してから 2ヵ月くらい経っていますが反応が無く、 [ruby-core:57951] [Bug #9040] の件も見つかったし、 Ruby 2.1.0 のリリース直前に変更するのもよくないとおもうので。 問題があったら言ってください。 ---------------------------------------- Bug #8749: Readline.readline stops STDOUT? https://bugs.ruby-lang.org/issues/8749#change-42635 Author: no6v (Nobuhiro IMAI) Status: Closed Priority: Normal Assignee: kouji (Kouji Takao) Category: ext Target version: ruby -v: ruby 2.1.0dev (2013-08-06 trunk 42402) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin r42402 で、以下のようなスクリプトの挙動が変わっています。 (Enter を押すかどうかは関係なくて、)Readline.readline を実行中に標準出力への出力が出来なくなっているように見えます。 $ cat rl.rb require "readline" th = Thread.new do p Readline.readline("> ") end loop do p :hi sleep 2 break unless th.alive? end $ ruby -v rl.rb ruby 2.1.0dev (2013-08-06 trunk 42401) [x86_64-linux] :hi > :hi :hi :hi :hi # しばらく放置してここで Enter "" $ ruby -v rl.rb $ /tmp/ruby/bin/ruby -v /tmp/r.rb ruby 2.1.0dev (2013-08-06 trunk 42402) [x86_64-linux] :hi > # しばらく放置してここで Enter "" $ =end -- http://bugs.ruby-lang.org/