From: matz@... (Yukihiro Matsumoto) Date: 2000-07-27T01:41:20+09:00 Subject: [ruby-list:24028] Re: context switch during finalizer(Re: Re: Flyweight) まつもと ゆきひろです In message "[ruby-list:24024] Re: context switch during finalizer(Re: Re: Flyweight)" on 00/07/26, Masatoshi SEKI writes: |preview2 の weakref.rb ですが、 | | 43 def initialize(orig) | 44 super | 45 @__id = orig.__id__ | 46 ObjectSpace.call_finalizer orig | 47 ObjectSpace.call_finalizer self | 48 ID_MAP[@__id] = [] unless ID_MAP[@__id] | 49 ID_MAP[@__id].push self.__id__ | 50 ID_REV_MAP[self.id] = @__id | 51 end | |48行目 が危険そうです。# 検査してからセットしてる。 ふむむ、test-and-setのオペレーションが欲しくなりますね。 ま、それはすぐには無理なんでとりあえずはパッチを取り込みます。 ありがとうございました。 # 他にもあるんだろうな。 まつもと ゆきひろ /:|)