On Wed, 2008-06-25 at 11:12 +0200, Manuel Teira wrote: > Hello. After a pair of weeks dealing with random, uninteresting stuff, > I'm back to the solaris port effort. I would like to wake up this issue > again, since it's a stopper for the solaris testing I'm trying to do. > > After all this discussion, what seems to be true, is: > 1.-The static initialization order is not the desired one. > 2.-Inlining the Mutex.h annonymous code in every Mutex usage, produces > multiple instances of onceControl and mutexattr, whereas the intended > behaviour was to have single instances, to be shared across the code. > 3.-About the PODMutex discussion, it is not needed here, since the > pthread_once_t usage is giving us the desired "one-shot" behaviour. > > It was also said, that fixing #2 could lead to get #1 fixed. Anyway, > what is the recommended technique to "force" static initialization if > having #2 fixed is not helping? >
Just committed a fix that removes the need for a global object with a constructor so should fix any init order problems. Also took this code out of line so it's genuinely once, not once-per-compilation-unit. Shout if it doesn't fix the problem or creates any new ones. Cheers, Alan.
