[Development] QBasicMutex::lockInternal() race condition?
Thiago Macieira
thiago.macieira at intel.com
Thu Sep 20 18:14:11 CEST 2012
On quinta-feira, 20 de setembro de 2012 15.50.12, Tony Van Eerd wrote:
> > We check for that case shortly after:
> >
> >
> > 361 if (d != d_ptr.loadAcquire()) {
> > 362 //Either the mutex is already unlocked, or relocked with
> > another mutex
> > 363 d->deref();
> > 364 continue;
> > 365 }
> >
> >
>
> Or course. Very next lines! "shortly after" is a being nice to me. Sorry.
>
> I wonder if the Acquire couldn't be Relaxed...
Acquire is correct, since we'll use some of the fields that requires memory
ordering, like the id or waiters fields.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Intel Sweden AB - Registration Number: 556189-6027
Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120920/f299999d/attachment.sig>
More information about the Development
mailing list