diff options
author | Martin Petersson <martin.petersson@nokia.com> | 2011-04-28 12:07:07 +0200 |
---|---|---|
committer | Martin Petersson <martin.petersson@nokia.com> | 2011-05-02 12:39:12 +0200 |
commit | 5be54b220a9f9343f8442f7b2f3de50374e22061 (patch) | |
tree | 1708e5c7a2e206f8bb0c0f5dffa305ab506ed168 /src/network | |
parent | e4b289c276c2621423e5f052af89ff5b79401502 (diff) |
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
(cherry picked from commit 8d4cd52b6981a4e6deea7fdb77f56e40c4f3e6ba)
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/socket/qabstractsocket.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 7af71ccc8b..cfb141398c 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; } |