ruby-trunk-changes r63849 - r63858

今日は独自の SIGCHLD 処理の revert と復活、Time.utc の最適化の再適用などがありました。

naruse: r63849 2018-07-04 19:59:36 +0900

r63848 の Time.utc でファイルアクセスを省略できるようにする高速化でテストが失敗したそうなので revert しています。

kazu: r63850 2018-07-04 21:45:46 +0900

rubygems の Gems::RemoteFetcher など一部のテストを拡張ライブラリ openssl がビルドできない環境では skip するようにしています。

kazu: r63851 2018-07-04 21:45:47 +0900

rubygems の Gem::Security::DIGEST_ALGORITHM の設定で OpenSSL::Digest の各クラスが未定義の場合は拡張ライブラリ digest の Digest::SHA512 に fallback するようにしています。

naruse: r63852 2018-07-05 00:08:56 +0900

r63758 以降の SIGCHLD の独自処理がらみの commit 群を revert しています。Windows でうまく動かないので、とのこと。macOS でもハングアップしてたけどそれは一昨日の時点で手元では直ってました。

svn: r63853 2018-07-05 00:08:58 +0900

version.h の日付更新。

nobu: r63854 2018-07-05 01:10:14 +0900

r63852 で r63841 と r63842 の signm2signo() のシグナル名が長すぎる時の修正や番号と名前の対応テーブルの実装変更が一緒に revert されてしまったので再適用しています。 [ruby-core:87767] [Bug #14893]

normal: r63855 2018-07-05 12:02:33 +0900

r63852 で revert された SIGCHLD 関連の変更を再度適用しています。 RUBY_SIGCHLD と SIGCHLD_LOSSY をまとめて WAITPID_USE_SIGCHLD というマクロで SIGCHLD を使わず従来の(?) waitpid の実装に戻せるようにしていますが、その他の実装はほぼ元のままなので直ってるわけではなさそう?

normal: r63856 2018-07-05 12:20:20 +0900

Windows 環境での PRI_PIDT_PREFIX の定義を PRI_INT_PREFIX にしています。うーんいいのかなこれは。けど VC でのビルドができなかったみたいです。 [ruby-core:87794]

naruse: r63857 2018-07-05 20:43:42 +0900

r63848 のうるう秒処理の修正で Time.utc で不要なファイルアクセスを抑制する最適化を再度適用しています。こけてたテストでは拡張ライブラリでうるう秒処理の初期化の関数の結果をリセットして次回再初期化させることで環境変数 TZ の影響を取り込み直す Bug::Time.reset_leap_second_info というメソッドを導入してこれを呼ぶことでパスさせているようです。

naruse: r63858 2018-07-05 20:53:18 +0900

r63857 で肝心の Bug::Time.reset_leap_second_info を実装している拡張ライブラリのソースコードファイルが含まれてなかったので追加コミットしています。