Issue #8749 has been updated by akr (Akira Tanaka). File readline-release-gvl.patch added ä½?????????¸ã???????¡ã?¼ã?«ã?? redmine ??«ç?»é?²ã???????¦ã????ªã????®ã?? redmine ??§æ?¸ã????¾ã????? (??¡ã?¼ã?«ã?? (????????¦ã?¾ã?????) https://www.ruby-forum.com/topic/4416224 ??§è???????¾ã?????) èªã?¿è¾¼??¿ã?§ã????ã????¯ã????¦ã??????????? GVL ???è§£æ?¾ã????¦ã????ªã???¦ä????®ã?¹ã?¬ã????????????????ªã??????????§ã????? readline_getc ??? Ruby 1.8 ???代ã?®å??æ®?????????? Ruby ??? IO èªã?¿è¾¼??¿é?¢æ?? (rb_io_getbyte) ???使ã???????¨ã?«ã????£ã?? èªã?¿è¾¼??¿ã?§ã????ã????¯ã????¦ã????????ä¸ã??ä»???®ã?¹ã?¬ã????????????????????????????«ã????¦ã????¾ã???????? ????????«ã?? IO ??ªã????¸ã?§ã?¯ã?????å¿?è¦???ªã????????IO ??ªã????¸ã?§ã?¯ã???????ªã????¨ã????¯ç?¡ç???????¨ã?? ä¸é?????端ã?§ã????? ?????®å?¤æ?ã?®ã?¨ã???????? r42402 ??§å??????????¦ã????¾ã?£ã?¦ã??ä»???®ã?¹ã?¬ã????????????????ªã???ªã?£ã?¦ã????? ??®ã?§ã????????Ruby 1.9 以é????§ã?¯ã??GVL ???å¤??????¦èª??¿è¾¼?????°ã????ã????¯ä¸??? ä»???®ã?¹ã?¬ã???????¯å??????????®ã?§ã?????????????®ã???????????????????ªã????§ã?????????????? readline-release-gvl.patch ??¿ã???????ªã?®ã?¯ã?©ã????§ã???????ã?? ??ªã???????·ã?°ã????«ã??????????¨ã????? rb_thread_call_with_gvl çµ???±ã?? rb_thread_check_ints ?????¼ã????§ã????¾ã???????? rb_thread_interrupted ???使ã????¨è¨å®??????? trap ?????³åº§??«ã?¯èµ·????????ªã????£ã??????????§ã????? ????????¯ç????®æ?³å???????? rb_thread_interrupted ??®å??ä½???¨é??????????§ã????????ç§???®ç??è§£ã?? rb_thread_interrupted ??®ã?©ã?¡ã?????????????£ã?¦ã???????®ã????¯å??????????¾ã???????? ---------------------------------------- Bug #8749: Readline.readline stops STDOUT? https://bugs.ruby-lang.org/issues/8749#change-41109 Author: no6v (Nobuhiro IMAI) Status: Open Priority: Normal Assignee: 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/