ruby-trunk-changes r43436 - r43439

今日は Struct::Tms -> Process::Tms の名前変更と拡張ライブラリ readline の不具合修正がありました。

nobu:r43436 2013-10-27 10:36:18 +0900

r43432 の assert_separately で子プロセスに --disable=gems をつける変更の再修正です。 --disable=gems を最後につけてしまっていたので引数の先頭に付加するように修正しています。

svn:r43437 2013-10-27 10:36:22 +0900

version.h の日付更新。

nobu:r43438 2013-10-27 10:38:20 +0900

Process.times が返すオブジェクトのクラス Struct::Tms を Process::Tms に名前空間の位置を変更しています。 Struct::Tms にも互換性のために同じクラスをセットしていますが、こちらは deprecated にしたいみたいです。今のところ特に警告とかは出ませんが。

akr:r43439 2013-10-27 21:04:14 +0900

拡張ライブラリ readline の r42402 や r42525、r42527、r42528 あたりの Readline.input=, Readline.output= で入出力の IO を変更した時の SEGV する可能性があるのに対処する修正の再修正みたいです。少し入り組んでいるので要点をはずしているかもしれませんが、readline_getc() で rb_thread_call_without_gvl2() を使って GVL を解放して getc_func() を呼ぶようにして、Readline が開いた FILE ストリームは Readline の拡張ライブラリで閉じるように、 input/output の現在のストリームだけではなくて、それが自分で開いたものかどうかも記録するようにしているみたいです。 [ruby-dev:47033] [Bug #8749] [ruby-core:57951] [Bug #9040]