まつもと ゆきひろです

In message "[ruby-list:3079] Re: [BUG?] Hash::delete"
    on 97/06/05, WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp> writes:
|
|わたなべです.
|
|Yukihiro Matsumoto <matz / caelum.co.jp> writes:
|
|:# しかし,せめてcore dumpはしないようにしたいなあ.
|
|dl-malloc だと起きますね. GNU malloc はチェックがぬるいせい
|か起きない.

問題はもうちょっと根が深いんですね.イテレータがハッシュの内
部構造に対してポインタを張っている最中にdeleteで要素が削除さ
れちゃうと,ポインタのさしている先がfreeされてしまうんです.
サイズを大きくすると割り当てメモリのサイズ変化して,参照して
いる部分がfreeによって壊されなくなるんでしょう.

こういう「安全な」イテレータを作るのは結構大変なことなんです
よねえ.どうしたもんだか.

                                まつもと ゆきひろ /:|)