[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [xml] [patch] make libxml2 slightly more thread-friendly



Rob Richards writes:
> Ted Phelps wrote:
> > +	/* Swap it into the global_init_lock */
> > +	InterlockedCompareExchangePointer(&global_init_lock, cs, NULL);
> > +
> >   
> This causes the builds to fail under VC6 now.

Mea culpa!

> I have attached a patch that will call InterlockedCompareExchange if
> InterlockedCompareExchangePointer is not defined.  Ted, since you made
> the original change and understand it all, can you check this change
> to make sure its correct? I basically took this from another project
> that ran into the same issue.

It should work fine so long as sizeof(LONG) == sizeof(void *), which I
think will be the case for any version of Visual Studio which doesn't
provide InterlockedCompareExchangePointer.  Your cast is wrong
-- you should be casting to a (LONG *) rather than a (void **) -- but
otherwise I think it's fine.

Cheers,
-Ted



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]