summaryrefslogtreecommitdiffstats
path: root/src/network/socket
diff options
context:
space:
mode:
authorMartin Petersson <martin.petersson@nokia.com>2011-04-28 10:07:07 (GMT)
committerMartin Petersson <martin.petersson@nokia.com>2011-04-28 10:16:19 (GMT)
commit8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba (patch)
tree441beb95948ac922030dd8e022169882a5e0f1bb /src/network/socket
parent28061caa38d94de85db9aec743d1efba33c1e46f (diff)
downloadQt-8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba.zip
Qt-8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba.tar.gz
Qt-8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba.tar.bz2
QAbstractSocket: Fix waitForReadyRead infinite loop.
Make sure that waitForReadyRead times out if the read buffer is full. Task-number: QTBUG-16123 Reviewed-by: Peter Hartmann
Diffstat (limited to 'src/network/socket')
-rw-r--r--src/network/socket/qabstractsocket.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index 7af71cc..cfb1413 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -1877,7 +1877,7 @@ bool QAbstractSocket::waitForReadyRead(int msecs)
}
Q_ASSERT(d->socketEngine);
- forever {
+ do {
bool readyToRead = false;
bool readyToWrite = false;
if (!d->socketEngine->waitForReadOrWrite(&readyToRead, &readyToWrite, true, !d->writeBuffer.isEmpty(),
@@ -1904,7 +1904,7 @@ bool QAbstractSocket::waitForReadyRead(int msecs)
if (state() != ConnectedState)
return false;
- }
+ } while (qt_timeout_value(msecs, stopWatch.elapsed()) > 0);
return false;
}