ruby-trunk-changes r58280 - r58286

今日は別 thread で閉じられた IO への書き込みで発生する IOError の例外メッセージの変更などがありました。

nobu: r58280 2017-04-09 10:23:01 +0900

ruby 本体のテスト用 test/unit の並列テスト用の Test::Unit::Parallel で make の jobserver 用の fd をコマンドラインオプションに追加する処理を削っています。

svn: r58281 2017-04-09 10:23:02 +0900

version.h の日付更新。

nobu: r58282 2017-04-09 10:23:02 +0900

r58251 で spec/default.mspec で MSpecScript#cores を再定義していたのを MSpecScript::JobServer という Module を定義して、それを prepend するように変更しています。

nobu: r58283 2017-04-09 11:06:45 +0900

node.c の rb_gc_mark_node() で NODE_BLOCK_PASS の時に struct RNODE の u3 メンバは mark しなくて良かったのでスキップするようにしています。

nobu: r58284 2017-04-09 11:34:49 +0900

あらかじめ確保しておくいくつかの特別な例外のうち IO の close 済みのものを操作しようとした時の IOError のための名前を ruby_error_closed_stream から ruby_error_stream_closed に改名。

nobu: r58285 2017-04-09 13:01:07 +0900

あらかじめ確保しておく例外オブジェクトのメッセージを作る時の rb_vm_register_special_exception() をマクロにしてこの時点で static String オブジェクト化するようにしています。

nobu: r58286 2017-04-09 14:09:44 +0900

Thread 間で同一の IO オブジェクトを操作したために起きる IOError の "stream closed" という例外メッセージを "stream closed in another thread" と詳細にしています。 IOError のメッセージって "closed stream" と "stream closed" という2種類があって、微妙に発生原因が違うんですよね(もうどう違うのかは忘れた)。 [ruby-core:80583] [Bug #13405]