ruby-trunk-changes 2023-10-24

今日は主に拡張ライブラリ socket の名前解決を割り込み可能にする変更や prism の更新などがありました。

[ef5717d923] Nobuyoshi Nakada 2023-10-23 08:13:35 UTC

GitHub Actions の bundled gems のバージョン更新をチェックする workflow で git コマンドの実行時の終了ステータスではなく出力をみて判定するようにしているみたいです。

[bf93ceb26b] Nobuyoshi Nakada 2023-10-23 08:36:05 UTC

ef5717d92307a1823f0c457cfcd1341182f8dab9 の続きで bundled gems の更新のための GitHub Actions の workflow でコミットログに更新日を入れるようにしています。

[062d6050b0] dearblue 2023-10-23 14:49:19 UTC

rubygems で .gem ファイルが tar フォーマットでない時の例外クラスを Gem::Package::TarInvalidError にするようにしています。

[30f5a2bbcd] Samuel Williams 2022-06-25 13:13:33 UTC

拡張ライブラリ io/nonblock の IO#nonblock? および IO#nonblock= メソッドを ruby 本体に存在する時には定義しないようにしています。

[9ce607a8d4] Yusuke Endoh 2023-10-18 06:51:49 UTC

拡張ライブラリ socket で getaddrinfo(3) を呼び出す処理を rb_getaddrinfo() という関数に切り出すリファクタリング

[25ef8d262a] Yusuke Endoh 2023-10-18 07:19:51 UTC

拡張ライブラリ socket で getaddrinfo() の実装を切り替えるマクロに GETADDRINFO_EMU のかわりに GETADDRINFO_IMPL というのを定義してこちらで分岐するようにしています。

[efd58f19ea] Yusuke Endoh 2023-10-18 07:32:38 UTC

25ef8d262a267d608aa3ac74481b3c3abd75ee34 の続きで拡張ライブラリ socket の getaddrinfo() の実装を切り替える preprocessor 分岐をまとめています。

[3dc311bdc8] Yusuke Endoh 2023-10-18 09:48:29 UTC

拡張ライブラリ socket の rb_getaddrinfo() を割り込み可能にするため実際の getaddrinfo(3) の呼び出しは別に pthread を起動してそこで実行するようにしています。名前解決をタイムアウト可能にするためこのような実装にしているようです。 [ruby-core:115104] [Feature #19965]

[16d6a22757] Yusuke Endoh 2023-10-18 10:46:40 UTC

3dc311bdc8badb680267f5a10e0c467ddd9dfe4c の続きで拡張ライブラリ socket で rb_getnameinfo() も実体を別の pthread に分離して割り込み可能にしています。 [ruby-core:115104] [Feature #19965]

[acd774263c] Yusuke Endoh 2023-10-18 12:14:27 UTC

3dc311bdc8badb680267f5a10e0c467ddd9dfe4c の続きで拡張ライブラリ socket で getaddrinfo() を pthread を利用した割り込み可能な実装にする条件として MinGW は除外するようにしています。 [ruby-core:115104] [Feature #19965]

[c08020254e] Yusuke Endoh 2023-10-19 05:14:31 UTC

拡張ライブラリ socket の rb_getaddrinfo() の rb_nativethread_lock_lock()/rb_nativethread_lock_unlock() で囲った部分をブロックにしてインデントを追加しています。

[25c1204fe7] Yusuke Endoh 2023-10-19 05:33:32 UTC

3dc311bdc8badb680267f5a10e0c467ddd9dfe4c の続きで rb_getaddrinfo() の割り込み可能にする実装でメモリ確保に失敗した時の戻り値を ENOMEM から EAI_MEMORY に変更し、割り込みによるエラーを EAGAIN から EAI_AGAIN に変更しています。

[92f29349d5] Nobuyoshi Nakada 2023-10-24 02:41:18 UTC

GitHub Actions の C のソースコードの行末空白やエンコーディングのチェックでの grep で tab を実際のタブから \t の記法の利用に変更しています。

[ccd18d0557] Nobuyoshi Nakada 2023-10-24 02:42:35 UTC

GitHub Actions の行末の空白をチェックする job で対象を .yml ファイルに拡張しています。これで検出されたと思われる benchmark/so_count_words.yml の行末の空白を除去しています。ついでに benchmark/so_count_words.yml のコード部分も Kernel#open のかわりに File.open や File.write を使うようにリファクタリングしています。

[c44d65427e] "dependabot[bot]" 2023-10-24 02:51:35 UTC

GitHub Actions の workflow で利用している ossf/scorecard-action アクションのバージョンを更新しています。