ruby-trunk-changes 2021-02-24

今日は WIndows 環境での排他処理関係の修正の続きなどがありました。

[7563d542d6] Nobuyoshi Nakada 2021-02-23 14:11:44 UTC

debug.c でリリース版でない時だけ有効なデバッグ出力のための setup_debug_log() で環境変数を得るために getenv() を呼んでいるのが WIndows 環境ではマクロで rb_w32_ugetenv() の呼び出しに置換されてるのですが、これが a12e950816d4db950d975e062f903a5e8c75f1b6 のあたりの変更で初期化前に呼ばれると問題があったので #undef でマクロを無効化して本来の getenv(3) を直接呼ぶように修正しています。

[a12e950816] Nobuyoshi Nakada 2021-02-23 18:12:19 UTC

19cc24b34b0490b7c2779eec521fe0089e05f183 で win32/win32.c に導入した排他処理をブロックっぽく書ける thread_exclusive() マクロをやめて EnterCriticalSection()/LeaveCriticalSection() を明示的に書くようにしています。また不要になった getenv の排他のための uenvarea_mutex を削除しています。

[75fbea91ac] git 2021-02-23 19:02:22 UTC

version.h の日付更新

[9d8c66fd6a] Nobuyoshi Nakada 2021-02-23 18:37:22 UTC

rb_fiber_terminate() の宣言に NORETURN() マクロを利用して関数から帰らないことをコンパイラに教えるようにしています。

[09f284c052] Kazuhiro NISHIYAMA 2021-02-24 11:01:44 UTC

gems/bundled_gems の minitest のバージョンを 5.14.4 に更新しています。