From: Masahiro S. ()
<sa...@to...> - 2004-04-14 07:01:07
|
さかいです。 From: Masao Mutoh <mu...@hi...> Date: Wed, 14 Apr 2004 03:30:10 +0900 > さかいさん > > むとうです。 > > rbglib.cのInit_mem()でmalloc/realloc/freeの置き換えを > 行っていますが、どうやらここが原因でRuby/GStreamerで > Segmentation faultが起きているようです。 > #ここをコメントアウトすると動作します。 あー、なるほど。 メインスレッド以外でruby_xmalloc()を使うと、 そこでrb_gc()が呼ばれたときに cross-thread violation に なっちゃうんですね。 > ちと、今のところ他の回避策が見つからないので、 > できれば、malloc/realloc/freeの動作をデフォルトに戻したい > と思うのですが、これじゃないとまずい理由はありますか? > あるいは別の回避策とかがあればその方が良いのですが...。 ↓以外には問題はないと思うので、戻しちゃって構わないと思います。 > ぱっと思いつくのがGTK+側がmallocしようとしたときに > メモリ領域が足りなくても、GCが発生させられなくなる > ということかなぁとは思うんですけど...。 -- 酒井 政裕 / Masahiro Sakai |