ruby-trunk-changes r32085 - r32099

今日は先日の GVL の変更の不具合修正などがありました。

tadf:r32085 2011-06-14 22:11:01 +0900

ext/date/date_core.c でいくつか inline 関数の名称変更と、rdoc の追記、体裁修正などです。

tadf:r32086 2011-06-14 22:52:25 +0900

Date, DateTime のテストケースを追加しています。

akr:r32087 2011-06-14 23:07:02 +0900

make test でテストを実行する bootstraptest/runner.rb で "." を表示してプログレスを示すメソッドを抽出して使い回すリファクタリングをしています。

akr:r32088 2011-06-14 23:17:42 +0900

make test で verbose mode の時に改行の出力がいくつか追加されています。

naruse:r32089 2011-06-15 00:49:12 +0900

IO.console のテストで IO.console が利用できない時の skip を追加しています。

svn:r32090 2011-06-15 00:49:16 +0900

version.h の日付更新。

kosaki:r32091 2011-06-15 01:31:23 +0900

r32064 の GVL の変更で既に gvl_yield() で待っているスレッドがいる時に gvl_yield() を呼びつつブロックする処理をしないスレッドがいると GVL を取得したままずっと動き続けてしまう不具合を修正しています。

kosaki:r32092 2011-06-15 01:36:40 +0900

r32064 の ChangeLog のエントリに GVL の変更であるベンチマークでのパフォーマンスが良くなったということを追記しています。

kosaki:r32093 2011-06-15 03:54:30 +0900

GVL の fairness (Thread.pass した時に他の Thread に制御がスムーズに移るか)についてのベンチマークを追加しています。

kosaki:r32094 2011-06-15 04:30:12 +0900

bm_vm4_*.rb という名称のベンチマークのファイル名を bm_vm_thread_*.rb となるようにファイル名変更しています。

ko1:r32095 2011-06-15 04:45:08 +0900

bm_vm3_thread_*.rb というベンチマークを bm_vm4_thread_*.rb にファイル名変更しています。
ChangeLog の記述をみるとこれは bm_vm_thread_*.rb にしたかったんじゃないでしょうか。

nagai:r32096 2011-06-15 05:20:59 +0900

r31986 で tk のイベントループでスレッド切り替えを促すために rb_thread_check_ints() を利用するように変更しましたが、1.8 用を考慮して defined(RUBY_VM) で分岐(条件コンパイル)して 1.8 向けには CHECK_INTS マクロを利用するように戻しています。

naruse:r32097 2011-06-15 10:58:13 +0900

file.c で dev_t を扱うところで正しく DEVT2NUM() を使って変換するようにしています。警告除去。

naruse:r32098 2011-06-15 12:28:47 +0900

test/misc/test_ruby_mode.rb による misc/ruby-mode.el のテストはインストールされている emacs のバージョンが 23以上の時だけ実行するようにしています。

akr:r32099 2011-06-15 12:36:57 +0900

test/ruby/test_io.rb で子プロセスから SIGUSR1 を送信させるテストで例外が発生した時に子プロセスの終了を Process.waitpid で待たずにシグナルハンドラをリセットするため SIGUSR1 で停止されてしまう可能性があったのを修正。
また test/pathname/test_pathname.rb でテストケースのメソッドをメタプログラミングで生成しているところでメソッド名が重複していたので、行番号を付加して名前の衝突を防いでいます。