ruby-trunk-changes r49788 - r49796

今日は Time.strptime の不具合修正や ObjectSpace._id2ref で内部的オブジェクトを隠すようにする修正などがありました。

akr: r49788 2015-03-01 09:12:48 +0900

標準添付ライブラリ time の Time.strptime で指示子に %s と %N を指定した時に小数点以下の値が無視されていたのを修正しています。 [ruby-core:68301] [Bug #10904]

svn: r49789 2015-03-01 09:13:01 +0900

version.h の日付更新。

akr: r49790 2015-03-01 09:13:11 +0900

r49788 の Time.strptime の修正についてのテストケースを追加しています。 [ruby-core:68301] [Bug #10904]

nobu: r49791 2015-03-01 11:17:13 +0900

tool/mkconfig.rb で rbconfig.rb を作る際に XXX_RUBY_COMMAND や INSTALLDOC、TARGET、DTRACE_XXXX などのビルド時にのみ利用する変数を除外する条件を追加(強化)しています。

nobu: r49792 2015-03-01 11:18:00 +0900

ObjectSpace._id2ref で klass が 0 の内部的なオブジェクトの object_id が渡された時は例外を発生させるようにしています。 ObjectSpace.each_object でスキップさせているので _id2ref でもアクセスできないようにしています。まあ、チケットの再現スクリプトをみる限り狙い撃ちは難しいのですが、struct RVALUE の slot は配列になっているので隙間をみつければもうちょっと予測可能なので塞いでおいたほうがいいですね。 [ruby-core:68348] [Bug #10918]

nobu: r49793 2015-03-01 18:10:36 +0900

r44920 で configure で memmem(3) が空文字列に対して期待した動きをしているか確認するチェックを HAVE_MEMMEM を confdefs.h に追加する前に実行するようにしています。

nobu: r49794 2015-03-01 20:21:18 +0900

configure.in で定義されている RUBY_REPLACE_TYPE という関数で型のサイズを求めるのに rb_cv_XXX_convertible の名前から取得するようにしています。 よくわかりませんが結果が安定するようにとのこと。

nobu: r49795 2015-03-01 20:21:40 +0900

test-all 用のユーティリティ EnvUtil.invoke_ruby で子プロセスを停止させるためのシグナルをキーワード引数 signal で指定できるようにしています。

nobu: r49796 2015-03-01 21:27:06 +0900

timer thread を起こすための pipe などの情報を持つ構造体 timer_thread_pipe で pid を保持するメンバの型を rb_pid_t に変更しています。