まつもと ゆきひろです

In message "[ruby-ext:00533] Re: qfloat が SEGV"
    on 99/11/15, YANAGAWA Kazuhisa <kjana / os.xaxon.ne.jp> writes:

|どうも Data_Wrap_Struct の使い方か,rb_define_const に自動変数を渡して
|いるのが悪いのか.... Data_Wrap_Struct らしい.もしかしてグローバル変数
|をラップしてはいけない? ....とりあえずこちらの方は下のパッチで直るはず
|です.

このパッチだけから推測すると以下の点がまずそうです。

  * pi, eul, inf, ninfが保護されていない。

    これらはローカル変数にすべきでしょう。グローバル変数から
    参照されるオブジェクトはGCの対象にならないので、途中で回
    収される危険があります。

  * qpi, qeulは外部で定義された変数だけにライブラリで勝手に
    freeしてはまずいでしょう。このパッチで正解です。