[QUARTZ] Use Interlocked* functions in AddRef and Release
(RESEND)
Paul Vriens
Paul.Vriens at xs4all.nl
Tue Jan 4 15:05:52 CST 2005
On Tue, 2005-01-04 at 21:48, Alexandre Julliard wrote:
> Paul Vriens <Paul.Vriens at xs4all.nl> writes:
>
> > TRACE("(%p)->()\n", iface);
> > - if (!--This->refCount)
> > + if (!InterlockedDecrement(&This->refCount))
> > {
> > CoTaskMemFree(This->ppFilters);
> > CoTaskMemFree(This);
>
> You also need to store the result of the decrement and have the
> function return that value instead of This->refCount, otherwise it's
> still not thread-safe.
OK. This will also mean fixing up 13 occurences of
if (!InterlockedDecrement(&This->
for QUARTZ alone.
I will fix them as well and resend ASAP.
Cheers,
Paul.
More information about the wine-devel
mailing list