ruby-trunk-changes r59053 - r59057

今日は主に Mac OS X での valgrind 上で実行した時の不具合の対応がありました。

nobu: r59053 2017-06-09 22:58:09 +0900

r59046, r59051, r59052 などで valgrind の支配下での signal handler 登録のエラー対応の続き。Mac OS X では THREAD_DEBUG を -1 に定義しています。 rb_thread_stop_timer_thread() での SEGV を避けるためだそうですが、なぜかはよくわかりませんね…。

nobu: r59054 2017-06-09 23:42:14 +0900

r59052 で追加した install_sighandler() のエラー時の ruby_enable_coredump のセットを消しています。これが Mac OS X での valgrind での実行時の SEGV の原因だったのかな。
[追記]これも valgrind のハングを解消する意味はあったけど、次の r59055 の変更で valgrind 関係の修正ができるとわかったので消したみたいです。[/追記]

nobu: r59055 2017-06-09 23:42:15 +0900

r59053 はやはり関係なかったみたいで revert して rb_thread_create_timer_thread() で timer thread 用のマシンスタックのサイズを拡張する条件を変更して、Mac OS X では常に BUFSIZ ぶん伸ばすようにしています。

nobu: r59056 2017-06-10 19:26:32 +0900

Enumerator::Lazy の map と grep でブロックパラメーターに配列を yield した時に誤って複数のパラメーターに展開して渡してしまうことがある不具合を修正しています。 [ruby-core:81638] [Bug #13648]

svn: r59057 2017-06-10 19:26:33 +0900

version.h の日付更新。