From: "U.Nakamura" Date: 2008-07-01T01:52:56+09:00 Subject: [ruby-dev:35281] Re: [BUG] test_win32ole_event.rb in trunk こんにちは、なかむら(う)です。 In message "[ruby-dev:35278] [BUG] test_win32ole_event.rb in trunk" on Jun.30,2008 23:54:26, wrote: > の変更が入ってからなのですが、この変更が悪いとは考えにくいので、 > WIN32OLE_EVENTの実装の方に元々問題があったんじゃないかと疑っています。 > ただ、どこが悪いのか、今のところ見当がつきません。 場所はわかりました。 GC中(具体的にはsweep中)にEVENTSINK_Invoke()が呼ばれて、その中 でWC2VSTR()でStringを確保しているのが引っかかっています。 よくわかってないんですが、EVENTSINK_Invoke()などは非同期にWindows から呼び出されているんでしょうか? だとすると、これらのコールバック関数内でのrubyオブジェクト操 作はちょっと考えないといけないんじゃないかという気がします。 それとも、単にfree処理の結果としてEVENTSINK_Invoke()がコール バックされるだけなんでしょうか? それでは。 -- U.Nakamura