From: Akinori MUSHA Date: 2001-04-09T22:58:21+09:00 Subject: [ruby-dev:12825] Re: recursive malloc / fork deadlock / thread deadlock At Mon, 9 Apr 2001 17:22:58 +0900, nobu.nakada@nifty.ne.jp wrote: > At Mon, 9 Apr 2001 11:11:25 +0900, > matz@zetabits.com (Yukihiro Matsumoto) wrote: > > ああ、思い出した。FreeBSDはstdioの中でmallocしてるんで、たま > > にそういうことがありますね。ごとうゆうぞうさんから以前にレポー > > トが出てます。 > > あ、それそれ。 > > > これの対応はstdioを捨てるしかないんですが...  そうでした。stdio は癌になってますね。。 > stdio の内部での排他制御を外部から見ることができれば、 > sighandle()で rb_trap_immediate と一緒にそれも見ることで回避で > きそうな気がします。  残念ながら、排他処理は FreeBSD の libc/libc_r の中で閉じていて 外からは見えないようになっています。malloc.c をいじってなんとか なるものかどうか、少し調べてみようと思います。 # でも、独自の排他制御を盛り込んだ malloc/realloc/free を用意して # 解決、なんていう単純なことじゃ済まないだろうな。。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "We're only at home when we're on the run, on the wing, on the fly"