ruby-trunk-changes r65494 - r65497

今日は sleep 処理での deadlock の不具合修正などがありました。

k0kubun: r65494 2018-11-01 22:49:33 +0900

wercker.yml で webrick のテストのエラーを許容するようにしていたのをやめています。そしてテストに復活させたのでテストの名前の通し番号がぜんぶずれて改名される…。

normal: r65495 2018-11-01 23:10:47 +0900

thread_pthread.c の timer thread への通知用の pipe をまとめた signal_self_pipe という変数の構造体に ub_main という名前でもう一対 pipe を持てるようにして native_ppoll_sleep() で ppoll(2) 監視する fd にこれも追加するようにし、ubf (unblocking function) はこの pipe への書き込みで起こすようにしています。シグナル喪失で deadlock することがあった対策だそうです。 [ruby-core:89655]

k0kubun: r65496 2018-11-02 20:40:43 +0900

mjit_worker.c の convert_unit_to_func() で unit の解放後に unit->iseq にアクセスしてしまっていたので条件を変数に入れておいてそれをチェックするように修正しています。 Coverity Scan で検出されたエラーだそうです。

svn: r65497 2018-11-02 20:40:46 +0900

version.h の日付更新。