I have an extension module that gets initialized multiple
times because I am using threads.
>
How can this module access global state (not per-thread state) ?
It needs to create a singleton.
The question is very unclear.
If you are after *not* initializing your module concurrently, why don't
you just do it *once* before the threads are started? alternatively, you
need to govern the initialization-code with a mutex - or anything similar.
>I have an extension module that gets initialized multiple
>times because I am using threads.
>>
>How can this module access global state (not per-thread state) ?
>It needs to create a singleton.
>
The question is very unclear.
>
If you are after *not* initializing your module concurrently, why don't
you just do it *once* before the threads are started? alternatively, you
need to govern the initialization-code with a mutex - or anything
similar.
Ouch... The simple "if (foo!=NULL)" I posted earlier is not thread safe
and should not be used in this situation. Do as Diez said.
Comment