From: MOROHOSHI Akihiko Date: 2000-12-24T08:04:50+09:00 Subject: [ruby-list:26789] patch: singleton.rb 師星です。 singleton.rbで、2回目以降のinstanceの呼び出しでは Thread.criticalがtrueにされたままになってしまっています。 また、2回目以降ではThread.criticalを操作する必要はなさそうに 思います。 というわけでパッチです。 moro. diff -u /home/moro/ruby/lib/singleton.rb /home/moro/projects/gtk-outline-processor/singleton.rb --- /home/moro/ruby/lib/singleton.rb Sun Dec 24 07:53:02 2000 +++ /home/moro/projects/gtk-outline-processor/singleton.rb Sun Dec 24 07:53:02 2000 @@ -16,13 +16,10 @@ klass.instance_eval %{ @__instance__ = nil def instance - Thread.critical = true unless @__instance__ - begin - @__instance__ = new - ensure - Thread.critical = false - end + Thread.critical = true + @__instance__ ||= new + Thread.critical = false end return @__instance__ end