Fix timeout calculations using qt_subtract_from_timeout
Commit ed0c0070
introduced qt_subtract_from_timeout but used it
incorrectly in several places.
Change-Id: I80ea16088707929a45d5a61ec6f3370f8e63d1cd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
parent
1823c8f2dd
commit
e96fa5a780
@ -364,7 +364,7 @@ bool QWinOverlappedIoNotifier::waitForNotified(int msecs, OVERLAPPED *overlapped
|
||||
return false;
|
||||
if (triggeredOverlapped == overlapped)
|
||||
return true;
|
||||
msecs = qt_subtract_from_timeout(msecs, stopWatch.elapsed());
|
||||
t = qt_subtract_from_timeout(msecs, stopWatch.elapsed());
|
||||
if (t == 0)
|
||||
return false;
|
||||
}
|
||||
|
@ -169,14 +169,16 @@ static bool doSocketRead(QTcpSocket *socket, int minBytesAvailable, int timeout
|
||||
{
|
||||
QElapsedTimer timer;
|
||||
timer.start();
|
||||
int t = timeout;
|
||||
forever {
|
||||
if (socket->bytesAvailable() >= minBytesAvailable)
|
||||
return true;
|
||||
timeout = qt_subtract_from_timeout(timeout, timer.elapsed());
|
||||
if (socket->state() == QAbstractSocket::UnconnectedState
|
||||
|| timeout == 0)
|
||||
if (socket->state() == QAbstractSocket::UnconnectedState)
|
||||
return false;
|
||||
if (!socket->waitForReadyRead(timeout))
|
||||
if (!socket->waitForReadyRead(t))
|
||||
return false;
|
||||
t = qt_subtract_from_timeout(timeout, timer.elapsed());
|
||||
if (t == 0)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -197,6 +199,7 @@ static bool doSocketFlush(QTcpSocket *socket, int timeout = 4000)
|
||||
#endif
|
||||
QTime timer;
|
||||
timer.start();
|
||||
int t = timeout;
|
||||
forever {
|
||||
if (socket->bytesToWrite() == 0
|
||||
#ifndef QT_NO_SSL
|
||||
@ -204,11 +207,12 @@ static bool doSocketFlush(QTcpSocket *socket, int timeout = 4000)
|
||||
#endif
|
||||
)
|
||||
return true;
|
||||
timeout = qt_subtract_from_timeout(timeout, timer.elapsed());
|
||||
if (socket->state() == QAbstractSocket::UnconnectedState
|
||||
|| timeout == 0)
|
||||
if (socket->state() == QAbstractSocket::UnconnectedState)
|
||||
return false;
|
||||
if (!socket->waitForBytesWritten(timeout))
|
||||
if (!socket->waitForBytesWritten(t))
|
||||
return false;
|
||||
t = qt_subtract_from_timeout(timeout, timer.elapsed());
|
||||
if (t == 0)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user