けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :06871 ] the message: "[ruby-list:6871] Re: monitor.rb ", on Mar/02 15:47(JST) Shugo Maeda writes: >前田です。 >|>sync.rbでも同じ問題があると思うんですが...。 >|具体的にどのような問題があったのでしょう? > >まつもとさんの[ruby-list:6865]のパッチのとおりです(^^; > >begin > lock > yield >ensure > unlock >end > >のようになっていたのでlockで例外が発生した時にもunlockが >呼ばれてしまうようになっていました。 いや. その通りなんですが, lockで例外が発生することがあるのかな? と思っ たのでした. で, 例外は発生したわけではいんだけども, このコーディングの方が良いって ことなのかな? と思ったのでした. ちなみに, 一応thread.rb, mutex_m.rb も同じ問題がありますね(^^;;; >あと、Sync_m.includable_moduleでNameErrorだけでなくArgumentErrorも >rescueした方がよいのではないでしょうか。 そうなんですか? 私も全パターンを調べたわけではないので... # 当然ソースコードも呼んでいませんが... >monitor.rbでは特異メソッドにnewが含まれている時はPrimitiveなクラスと >みなすことにしました。 Primitiveなクラスかどうかが問題なのではなくて, インスタンス変数が作れ るかが問題だとは思うのですが... # そのうち, primitiveなクラスでもインスタンス変数が作れるようになるか # も知れないし(^^;;; __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju / rational.com <<---