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.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/serialport/qserialport_unix.cpp b/src/serialport/qserialport_unix.cpp
index 70c160b..29822d5 100644
--- a/src/serialport/qserialport_unix.cpp
+++ b/src/serialport/qserialport_unix.cpp
@@ -435,14 +435,11 @@ bool QSerialPortPrivate::waitForReadyRead(int msecs)
return false;
}
- if (readyToRead) {
- if (readNotification())
- return true;
- }
-
- if (readyToWrite)
- completeAsyncWrite();
+ if (readyToRead)
+ return readNotification();
+ if (readyToWrite && !completeAsyncWrite())
+ return false;
} while (msecs == -1 || timeoutValue(msecs, stopWatch.elapsed()) > 0);
return false;
}