summaryrefslogtreecommitdiff
path: root/lib/util/smb_threads_internal.h
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@dworkin.(none)>2009-05-10 21:55:23 -0400
committerDerrell Lipman <derrell@dworkin.(none)>2009-05-10 22:45:12 -0400
commitd3434477e6d42432a0acf426fcfbe39eb11b1fd0 (patch)
tree9108912416b0d73081a5af2204c0c74422162ba2 /lib/util/smb_threads_internal.h
parent831b73ec82717c3c73ea1250f9c94228d251c1ec (diff)
downloadsamba-d3434477e6d42432a0acf426fcfbe39eb11b1fd0.tar.gz
samba-d3434477e6d42432a0acf426fcfbe39eb11b1fd0.tar.bz2
samba-d3434477e6d42432a0acf426fcfbe39eb11b1fd0.zip
Replace external thread "once" with an internal implementation
Jeremy, please check... - I'm in the process of providing an interface in libsmbclient to the recently-added threading capabilities. In the process, I discovered that different thread implementations have varying types for the variable passed to the thread_impl_once() function. pthreads, for example, uses type pthread_once_t. Since Samba needs to internally declare these variables, it would need to know the exact type required by each thread implementation's function. After considering multiple methods of obtaining an appropriately sized variable, I decided that for the basic "once" functionality required by Samba, it would be much simpler to just implement our own "once" functionality. We don't require cancellation points et all. This commit adds an smb_thread_once() function that is implemented using an internal mutex. The mutex itself uses the implementation's create_mutex function. This eliminates the need for the user to provide a smb_thread_once function pointer and the entire issue of that function's first parameter. Derrell
Diffstat (limited to 'lib/util/smb_threads_internal.h')
-rw-r--r--lib/util/smb_threads_internal.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/util/smb_threads_internal.h b/lib/util/smb_threads_internal.h
index b7e862af72..0260934e15 100644
--- a/lib/util/smb_threads_internal.h
+++ b/lib/util/smb_threads_internal.h
@@ -34,7 +34,7 @@
(global_tfp ? global_tfp->lock_mutex((plock), (type), __location__) : 0)
#define SMB_THREAD_ONCE(ponce, init_fn) \
- (global_tfp ? global_tfp->smb_thread_once((ponce), (init_fn)) : ((init_fn()), 0))
+ (global_tfp ? smb_thread_once((ponce), (init_fn)) : ((init_fn()), 0))
#define SMB_THREAD_CREATE_TLS(keyname, key) \
(global_tfp ? global_tfp->create_tls((keyname), &(key), __location__) : 0)