Yukihiro M. wrote:
In message “Re: Infinite loop with Singleton mixin”
on Wed, 25 Feb 2009 13:45:41 +0900, Adam G.
|This loops inifitely, but it doesn’t seem like it should.
Uninitialized singleton object should not be disclosed, I think. So I
think it should loop infinitely, as you specified.
Personally, I disagree. I think both consistency and utility would be
better served by having .instance return the instance as soon as
initialize has started - after all, there are plenty of other ways to
get references to objects which haven’t finished their initialize
function, and they don’t cause undue trouble. But I can understand why
it might need to be the way it is. I’ll try and work around it.
Incidentally, it turns out the code above isn’t looping the way I
thought it was; it’s actually stuck inside the while loop in
Thread.critical = false
sleep(0.08) # timeout
Thread.critical = true
Which, itself, suggests a work-around:
@a = OtherThing.new
@single_ref = SingleThing.instance
a = SingleThing.instance
Anyway, thanks for your attention, and thank you for your hard work on