summaryrefslogtreecommitdiff
path: root/src/serialport/qserialport_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport/qserialport_unix.cpp')
-rw-r--r--src/serialport/qserialport_unix.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
index 70c160b..f7d2af9 100644
--- a/src/serialport/qserialport_unix.cpp
+++ b/src/serialport/qserialport_unix.cpp
@@ -424,6 +424,7 @@ bool QSerialPortPrivate::waitForReadyRead(int msecs)
stopWatch.start();
+ error = QSerialPort::NoError;
do {
bool readyToRead = false;
bool readyToWrite = false;
@@ -443,6 +444,9 @@ bool QSerialPortPrivate::waitForReadyRead(int msecs)
if (readyToWrite)
completeAsyncWrite();
+ if (error != QSerialPort::NoError)
+ return false;
+
} while (msecs == -1 || timeoutValue(msecs, stopWatch.elapsed()) > 0);
return false;
}