Use Interlocked* functions

Joris Huizer jorishuizer at planet.nl
Mon Jan 10 11:03:30 CST 2005


Mike Hearn wrote:
> On Mon, 10 Jan 2005 11:38:20 +0100, Joris Huizer wrote:
> 
> 
>>To see how far we are, I tried grepping to get This->refs stuff
>>  grep -r -n -e 'TRACE(.*This->ref)' *
>>  grep -r -n "++(This->ref)" *
>>  grep -r -n -- "--(This->ref)" *
>>
>>I hope there are a lot of false positives there :-/
> 
> 
> You realise that not every object has to be thread safe, right? In fact
> quite a few don't. Also some COM objects are internal, and others inc the
> lock count inside a mutex. Finally the first grep doesn't matter as
> reading a refcount is atomic anyway (but not adding or subtracting).

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;
I also saw, at least some of the patches were in files not listed on the 
janiturial page; should that list be updated? how could we see wether a 
given dll directory needs cleaning up?

regards,

Joris




More information about the wine-devel mailing list