Threading libsmbclient - a proposal.
idra at samba.org
Wed Apr 8 00:41:23 GMT 2009
On Tue, 2009-04-07 at 17:32 -0700, Jeremy Allison wrote:
> On Wed, Apr 08, 2009 at 12:24:48AM +0000, simo wrote:
> > I would fine the attached header much more readable, and should be
> > equivalent to your supermacro.
> > The difference is that you need to define SMB_USE_THREADS in your
> > program before including the header, but that shouldn't be a big deal,
> > or is it ?
> The problem with doing it that way is you'll have to #define that
> name *before* including the header.
That's what I said :-)
> The goal is for this to be used
> by callers of libsmbclient and external libraries.
> I prefer the monster macro as it allows the header file to
> be included unconditionally (as an #include in libsmbclient.h)
> and then turned on in the "global" definitions area (usually
> just before main, or at the top of the file containing the
> entry point).
I honestly don't see the difference.
> Otherwise you could easily get multiple function definitions
> be #including the header file in different modules.
No, you have barriers in the include:
So multiple inclusion shouldn't really happen.
> SMB_THREADS_DEF_PTHREAD_IMPLEMENTATION() instantiates the
> functions under the control of the caller, not under the
> control of the header include.
I am trying to understand in which case this would make a difference.
Samba Team GPL Compliance Officer <simo at samba.org>
Principal Software Engineer at Red Hat, Inc. <simo at redhat.com>
More information about the samba-technical