* su_uniqueid.c: Solaris misdefines PTHREAD_ONCE_INIT
Ignore-this:
9fe2247164d572901ed4a30b009353db
Solaris defines pthread_once_t as a struct containing an array. The
initializer PTHREAD_ONCE_INIT needs two levels of brackets it but only has
one. Original patch from Mike Jerris <mike@jerris.com>.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13387
d0543943-73ff-0310-b7d9-
9358b9ac24b2
-Tue May 19 09:46:18 CDT 2009
+Tue May 19 12:23:01 CDT 2009
#include <pthread.h>
-#if defined(__sun)
-static pthread_once_t once = { PTHREAD_ONCE_INIT };
-#else
-static pthread_once_t once = PTHREAD_ONCE_INIT;
+#if __sun
+#undef PTHREAD_ONCE_INIT
+#define PTHREAD_ONCE_INIT {{ 0, 0, 0, PTHREAD_ONCE_NOTDONE }}
#endif
+
+static pthread_once_t once = PTHREAD_ONCE_INIT;
static int done_once = 1;
static pthread_key_t state_key;