[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Review Request: Add spinlocks lock type, based on GCC intrisincs
From:       Thiago Macieira <thiago () kde ! org>
Date:       2012-08-28 22:37:20
Message-ID: 1605981.c9CSsTkNEd () tjmaciei-mobl2
[Download RAW message or body]


On quarta-feira, 29 de agosto de 2012 00.36.07, Vadim Zhukov wrote:
> 2012/8/28 Thiago Macieira <thiago@kde.org>:
> > On terça-feira, 28 de agosto de 2012 12.28.24, Vadim Zhukov wrote:
> >> See the definition of SharedLock structure in kshareddatacache_p.h.
> >> Actually, other union members will not be accessed simultaneously with
> >> spinlock, but compiler doesn't know about that.
> > 
> > I don't see the need for a union.
> > 
> > The other types aren't related to a spinlock.
> 
> The main thing there is "char unused[64]" below. The union is needed
> to keep the size of the whole structure constant. Or... is it
> impossible that there will be run two KDE-based apps with size of Qt
> atomic type simultaneously; e.g. during OS update?

The union is useless. If the size of the structure changed, the cross-process 
locking would stop working completely.

And in any case, if you're using a spinlock, you're not using a pthread_mutex. 
You don't need it, so remove it.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic