[SCM] Samba Shared Repository - branch master updated -
jra at samba.org
Mon May 11 21:01:44 GMT 2009
On Sun, May 10, 2009 at 09:46:03PM -0500, Derrell Lipman wrote:
> commit d3434477e6d42432a0acf426fcfbe39eb11b1fd0
> Author: Derrell Lipman <derrell at dworkin.(none)>
> Date: Sun May 10 21:55:23 2009 -0400
> 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.
Thanks for writing this, it's a nicer way around
the pthread_once() problem I ran into. I'm only jealous
that I didn't think of it first :-).
Great work, thanks !
More information about the samba-technical