I want to add a Phobos module with template mixins for common idioms.
Idan Arye
GenericNPC at gmail.com
Wed May 22 14:23:00 PDT 2013
On Tuesday, 21 May 2013 at 17:40:02 UTC, Idan Arye wrote:
> On Tuesday, 21 May 2013 at 14:58:16 UTC, Idan Arye wrote:
>> At any rate, I am forced to admit I made a mistake about
>> `hasIntance()` not needing synchronization. I neglected the
>> possibility that the constructor(or anything else used for
>> initialization) can throw!
>>
>> The compiler might decide that it's better to write the global
>> reference first, and if the initializer throws just set it
>> back to null. If that is the case, `hasInstance()` could see
>> that the global reference is not null and return true, and
>> then the initializer will throw and the initializing thread
>> will set the global reference to null again.
>>
>> So yea, I'm gonna have to synchronize it too...
>
> OK, it is done.
>
> Next step - write the introduction. And then add the shared
> version of the singleton.
OK, I've written and pushed the documentation. I'll try to find
somewhere to host the generated HTML.
I've also added `SharedSingleton` and renamed `LowLockSingleton`
to `__GSharedSingleton` for consistency. I *did not* rename
`ThreadLocalSingleton` to `StaticSingleton` - this will be too
confusing("aren't all singletons static?").
More information about the Digitalmars-d
mailing list