diff options
-rw-r--r-- | src/serialport/qserialport_unix.cpp | 4 |
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; } |