src/corelib/thread/qreadwritelock.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
   250         }
   250         }
   251     }
   251     }
   252 
   252 
   253     while (d->accessCount < 0 || d->waitingWriters) {
   253     while (d->accessCount < 0 || d->waitingWriters) {
   254         ++d->waitingReaders;
   254         ++d->waitingReaders;
   255         bool success = d->readerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : timeout);
   255         bool success = d->readerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : ulong(timeout));
   256         --d->waitingReaders;
   256         --d->waitingReaders;
   257         if (!success)
   257         if (!success)
   258             return false;
   258             return false;
   259     }
   259     }
   260     if (d->recursive)
   260     if (d->recursive)
   372         }
   372         }
   373     }
   373     }
   374 
   374 
   375     while (d->accessCount != 0) {
   375     while (d->accessCount != 0) {
   376         ++d->waitingWriters;
   376         ++d->waitingWriters;
   377         bool success = d->writerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : timeout);
   377         bool success = d->writerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : ulong(timeout));
   378         --d->waitingWriters;
   378         --d->waitingWriters;
   379 
   379 
   380         if (!success)
   380         if (!success)
   381             return false;
   381             return false;
   382     }
   382     }