ruby-trunk-changes r63307 - r63314

今日は multi thread 状態での Kernel#fork の不具合修正などがありました。

normal: r63307 2018-05-01 08:12:03 +0900

vm_living_thread_num() の引数に const 修飾子を付加しています。

svn: r63308 2018-05-01 08:12:03 +0900

version.h の日付更新。

normal: r63309 2018-05-01 08:47:21 +0900

[Bug #14634] の修正の r63215 のあたりで multi thread 状態での Kernel#fork で ConditionVariable の状態をリセットする処理に問題があって子プロセスで deadlock することがあったようで、struct rb_condvar::fork_gen を再初期化するようにしています。 [ruby-core:86781][Bug #14725]

normal: r63310 2018-05-01 08:53:55 +0900

r63309 の修正についてカバーするようにテストを修正しています。 [ruby-core:86781] [Bug #14725]

kou: r63311 2018-05-01 12:12:37 +0900

標準添付ライブラリ rexml でメソッド名の重複? やブロックパラメーターとローカル変数の衝突などの警告を除去しています。

shyouhei: r63312 2018-05-01 13:41:10 +0900

ccan/list/list.h の LIST_HEAD というマクロは構造体の初期化に変数を含む初期化子を使っているため C90 ではコンパイルできないとのことでローカル変数の宣言に使うのをやめて明示的な初期化を書くようにしています。

nobu: r63313 2018-05-01 15:55:43 +0900

テスト用の拡張ライブラリ ext/-test-/ast/ast.c で switch 文にわたすための Node 種別を enum node_type の変数に一旦受けてから使うようにしています。 switch 文の警告を抑制するためみたいです。ついでに rb_bug() のメッセージの typo 修正。

normal: r63314 2018-05-01 17:35:19 +0900

r63312 で ccan/list の初期化を書いてたところは list_head_init() を利用するようにリファクタリングしています。