Use Interlocked* functions

Joris Huizer jorishuizer at planet.nl
Mon Jan 10 13:15:05 CST 2005


Mike Hearn wrote:
> On Mon, 10 Jan 2005 18:03:30 +0100, Joris Huizer wrote:
> 
>>Paul Vriens was posting patches in which references to This->ref in 
>>TRACE calls were replaced by a variable containing the value of 
>>This->ref - I can't remember why this was necessary, but I don't think 
>>he's doing it just for the fun of it
> 
> 
> Right, in the case where you do this:
> 
> DWORD refs = InterlockedDecrement(&This->refs);
> 
> TRACE("refcount is now %d\n", This->refs);
> 
> that's clearly wrong, it should be refs in the second line. 
> But refcounts are dumped all over the place, I have a feeling that grep
> will give a *lot* of false positives ....
> 

Yeah, I'm sure you are right; I'm sorry, I didn't really think hard I 
but later on I noticed myself it's in other places as well;
I now guess/think looking at
   grep -r -n "_AddRef(LPCLASSFACTORY" *
is the way to go - which gave me 71 hits, of which a number is already 
done; Would this just hit on (all?) the correct functions ?

sorry for the confusion

regards,

Joris




More information about the wine-devel mailing list