From: "mrkn (Kenta Murata)" Date: 2013-03-07T12:28:19+09:00 Subject: [ruby-dev:47147] [ruby-trunk - Feature #8024] Lazy sweep を on/off するための機能 Issue #8024 has been updated by mrkn (Kenta Murata). > SEGVが発生するかしないかの切り分けのため これは正確な表現ではなく、本当の動機は「SEGVを回避するため」です。 > SEGVが直ったら用済みになっちゃうかもしれないですよね…。 そうですね。 > それ以外の用途 ありません〜 ---------------------------------------- Feature #8024: Lazy sweep を on/off するための機能 https://bugs.ruby-lang.org/issues/8024#change-37346 Author: mrkn (Kenta Murata) Status: Assigned Priority: Normal Assignee: authorNari (Narihiro Nakamura) Category: core Target version: Lazy sweep を on/off する機能を追加するパッチを作りました。 このパッチは環境変数1つと GC のモジュール関数2つを追加します。 環境変数は RUBY_GC_DISABLE_LAZY_SWEEP です。 これに 0 以外の整数を設定して ruby を実行すると、 lazy sweep が off の状態で実行されます。 GC に追加されるモジュール関数は disable_lazy_sweep と enable_lazy_sweep です。 文字通り、lazy_sweep の on/off を切り替えるために使います。 このパッチを作るに至った経緯は、Lazy sweep が on の時だけ再現する SEGV が 弊社のテストコードで発生していたからです。 SEGV の発生条件がまだ絞れていないため、残念ながらバグ報告はまだできません。 運用上 Lazy sweep を止めておく必要があっために作ったパッチですが、 他の人の役にも立つかもしれませんので、こちらで提案させて頂きます。 trunk/2.0.0 用 → https://gist.github.com/mrkn/5096076 1.9.3 用 → https://gist.github.com/mrkn/5096071 -- http://bugs.ruby-lang.org/