From: Jeremy Allison Date: Mon, 20 Apr 2009 11:00:06 +0000 (-0700) Subject: Attempt to fix build farm on platforms where pthread_once_t is a struct. X-Git-Tag: tdb-1.1.5~958^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=399c765538d91c696efd1496fffd9ae1e876f3ae;p=thirdparty%2Fsamba.git Attempt to fix build farm on platforms where pthread_once_t is a struct. Jeremy. --- diff --git a/lib/util/smb_threads.h b/lib/util/smb_threads.h index f4ed1fcb9aa..682e142c5bc 100644 --- a/lib/util/smb_threads.h +++ b/lib/util/smb_threads.h @@ -33,8 +33,11 @@ #if defined(HAVE_PTHREAD_H) #define SMB_THREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define SMB_THREAD_ONCE_IS_INITIALIZED(val) (true) +#define SMB_THREAD_ONCE_INITIALIZE(val) #else -#define SMB_THREAD_ONCE_INIT false +#define SMB_THREAD_ONCE_IS_INITIALIZED(val) ((val) == true) +#define SMB_THREAD_ONCE_INITIALIZE(val) ((val) = true) #endif enum smb_thread_lock_type { diff --git a/lib/util/talloc_stack.c b/lib/util/talloc_stack.c index f5ca9d21d54..2ed18fa1139 100644 --- a/lib/util/talloc_stack.c +++ b/lib/util/talloc_stack.c @@ -62,10 +62,10 @@ static void talloc_stackframe_init(void) { if (!global_tfp) { /* Non-thread safe init case. */ - if (ts_initialized) { + if (SMB_THREAD_ONCE_IS_INITIALIZED(ts_initialized)) { return; } - ts_initialized = true; + SMB_THREAD_ONCE_INITIALIZE(ts_initialized); } if (SMB_THREAD_CREATE_TLS("talloc_stackframe", global_ts)) {