summaryrefslogtreecommitdiff
path: root/lib/util/smb_threads_internal.h
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@dworkin.(none)>2009-05-13 09:49:59 -0400
committerDerrell Lipman <derrell@dworkin.(none)>2009-05-13 09:50:17 -0400
commite03b9ae609a3ef856c483832332e307975a1bf0a (patch)
treed60aec946ceedc3bfe5205853a769b15a59953b1 /lib/util/smb_threads_internal.h
parent652251701df7dec1401eab9b1dbc7e3ac5c7e7ad (diff)
downloadsamba-e03b9ae609a3ef856c483832332e307975a1bf0a.tar.gz
samba-e03b9ae609a3ef856c483832332e307975a1bf0a.tar.bz2
samba-e03b9ae609a3ef856c483832332e307975a1bf0a.zip
Allow a parameter to smb_thread_once's initialization function
- This should make life easier for ourselves. We're no longer constrained to the semantics of pthread_once, so let's allow passing a parameter to the initialization function. Some of Samba's init functions return a value. Although I haven't searched, I suspect that some of the init functions require in input parameters. The parameter added here can be used for input, output, or both, as necessary... or ignored, as is now done in talloc_stackframe_init(). Derrell
Diffstat (limited to 'lib/util/smb_threads_internal.h')
-rw-r--r--lib/util/smb_threads_internal.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/util/smb_threads_internal.h b/lib/util/smb_threads_internal.h
index 29a581b013..038c584b60 100644
--- a/lib/util/smb_threads_internal.h
+++ b/lib/util/smb_threads_internal.h
@@ -33,12 +33,12 @@
#define SMB_THREAD_LOCK(plock, type) \
(global_tfp ? global_tfp->lock_mutex((plock), (type), __location__) : 0)
-#define SMB_THREAD_ONCE(ponce, init_fn) \
- (global_tfp \
- ? (! *(ponce) \
- ? smb_thread_once((ponce), (init_fn)) \
- : 0) \
- : ((init_fn()), 0))
+#define SMB_THREAD_ONCE(ponce, init_fn, pdata) \
+ (global_tfp \
+ ? (! *(ponce) \
+ ? smb_thread_once((ponce), (init_fn), (pdata)) \
+ : 0) \
+ : ((init_fn(pdata)), 0))
#define SMB_THREAD_CREATE_TLS(keyname, key) \
(global_tfp ? global_tfp->create_tls((keyname), &(key), __location__) : 0)