ruby-trunk-changes 2020-12-06

今日は Socket.getaddrinfo の fork 対応の sleep 時間を少し伸ばす変更などがありました。

[c56a1c1953] Masaki Matsushita 2020-12-05 09:05:09 UTC

94d49ed31c39002335eeee65d42463139f561954 で getaddrinfo_a(3) が起動した thread を停止させる rb_getaddrinfo_a_before_exec() で thread の停止を確実に待つために sleep() で待つようにしてたのを nanosleep() を使って 1.5 秒待つように伸ばしています。1秒だと一部 CI 環境でテストが失敗したそうです。

[a38d447356] git 2020-12-05 16:05:14 UTC

version.h の日付更新

[76439eee68] Masaki Matsushita 2020-12-05 16:16:33 UTC

94d49ed31c39002335eeee65d42463139f561954 の getaddrinfo_a(3) の thread を fork 前に停止するための関数の名前が rb_getaddrinfo_a_before_exec() になってたのを実態に合わせて rb_getaddrinfo_a_before_fork() に改名し、また実行するのも fork の前だけにしています。これまで before_fork_ruby() は before_exec() の別名としてマクロ定義されてたので関数の実態を分けて定義するようにしています。これって Socket.getaddrinfo を使ったかどうかに関わらず常に呼んでるから常に 1.5秒 sleep することになっちゃうんですね。影響でかそう。

[5d07a21ccd] MSP-Greg 2020-12-05 19:59:07 UTC

rubygems に含まれている lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem というルート証明書ファイル? を削除してかわりに lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem を追加しています。これなんだろう。

[18b2ce11b5] Jeremy Evans 2020-12-06 06:31:52 UTC

NEWS に _1 のようなデフォルトのブロック変数への代入を SyntaxError にした変更について追記しています。

[967ed35bbb] Nobuyoshi Nakada 2020-12-06 06:56:44 UTC

common.mk の make update-bundled_gems のアクションに書かれてたスクリプトを tool/update-bundled_gems.rb というファイルに切り出しています。

[ea9f16a27f] Nobuyoshi Nakada 2020-12-06 07:00:51 UTC

967ed35bbb2c42646b764ce9f72d69e609e2eafd で切り出した tool/update-bundled_gems.rb で URL の ".git" という拡張子部分を削るようにしています。

[e4e2a33560] Nobuyoshi Nakada 2020-12-06 06:59:46 UTC

02e17d473a5edef69b8c03a8e2b91fdd0c27ed75 で gems/bundled_gems のリポジトリにタグや commit hash を指定できるようにフォーマットを拡張してたのに tool/update-bundled_gems.rb を追随させています。

[3184cd85c7] Nobuyoshi Nakada 2020-12-06 07:10:52 UTC

gems/bundled_gems の test-unit と typeprof を更新しています。