ruby-trunk-changes r49906 - r49920

今日は WEBrick の再起動時の挙動の不具合修正などがありました。

ko1: r49906 2015-03-09 21:43:00 +0900

ep_cref() を lep_cref() に改名しています。 ep_cref() という関数名は r49874 で導入されていましたが r36030 あたりで LEP の概念を導入しているので命名ミス修正という感じですね。

nobu: r49913 2015-03-10 13:53:46 +0900

tgamma(3) という math 関数が mingw では非常に大きな数に対して NaN を返すので mingw_tgamma() という wrapper 関数を導入して INFINITY を返すようにしています。

svn: r49914 2015-03-10 13:53:57 +0900

version.h の日付更新。

ko1: r49915 2015-03-10 17:28:22 +0900

Thread#join の実装で対象の Thread の rb_thread_t::errinfo に TAG_FATAL (rb_fatal() で異常終了するときに使われる)以外の Fixnum や NODE オブジェクトが入ってたら rb_bug() で異常終了させるようにしています。 TAG_XXX はもっと上で処理されるはずですし、NODE は…… errinfo に NODE が入るのってどんな時でしたっけ?

nobu: r49916 2015-03-10 20:01:55 +0900

Math のモジュール関数へ Fixnum, Bignum, Rational を引数に渡した時のテストについて Math.cos でテストしていたのを Math.sqrt を使うように変更しています。 cos は周期的関数なのでとても大きい数について安定した値が得られないのでプラットフォームや最適化の有無によって結果が異なってしまうみたいでした。

akr: r49917 2015-03-10 20:05:21 +0900

r48362 あたりで WEBrick の終了通知用の pipe の初期化を listen 時に行うようにしたのを、再度 start 時に行うようにしています。 一度 shutdown した後に再度 listen した時に動くようにするために listen に移動してたのですが、stop -> start で再起動した時にエラーになっていたようです。 [ruby-core:68476] [Bug #10956]

ktsj: r49918 2015-03-10 23:18:20 +0900

Enumerable#slice_when の rdoc 用コメントの typo 修正。

odaira: r49919 2015-03-11 01:01:57 +0900

rubygems のテストで File::Stat#mode のビットパターンが AIX では異なっているためのテスト失敗するのに対応しています。 AIX では 0200000 ビットが立っているそうです。

svn: r49920 2015-03-11 01:02:22 +0900

version.h の日付更新。