diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/serialport/qserialport_unix.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp index f7d2af9..29822d5 100644 --- a/src/serialport/qserialport_unix.cpp +++ b/src/serialport/qserialport_unix.cpp @@ -424,7 +424,6 @@ bool QSerialPortPrivate::waitForReadyRead(int msecs) stopWatch.start(); - error = QSerialPort::NoError; do { bool readyToRead = false; bool readyToWrite = false; @@ -436,17 +435,11 @@ bool QSerialPortPrivate::waitForReadyRead(int msecs) return false; } - if (readyToRead) { - if (readNotification()) - return true; - } - - if (readyToWrite) - completeAsyncWrite(); + if (readyToRead) + return readNotification(); - if (error != QSerialPort::NoError) + if (readyToWrite && !completeAsyncWrite()) return false; - } while (msecs == -1 || timeoutValue(msecs, stopWatch.elapsed()) > 0); return false; } |