remove redundant timer in QSemaphore

Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
Ivailo Monev 2019-06-09 20:55:53 +00:00
parent e53257ad1e
commit 8cdda3bb01

View file

@ -44,8 +44,6 @@
#ifndef QT_NO_THREAD
#include "qmutex.h"
#include "qwaitcondition.h"
#include "qelapsedtimer.h"
#include "qdatetime.h"
QT_BEGIN_NAMESPACE
@ -220,12 +218,8 @@ bool QSemaphore::tryAcquire(int n, int timeout)
while (n > d->avail)
d->cond.wait(locker.mutex());
} else {
QElapsedTimer timer;
timer.start();
while (n > d->avail) {
const qint64 elapsed = timer.elapsed();
if (timeout - elapsed <= 0
|| !d->cond.wait(locker.mutex(), timeout - elapsed))
if (!d->cond.wait(locker.mutex(), timeout))
return false;
}
}