summaryrefslogtreecommitdiffstats
path: root/src/serialport/qserialport_wince.cpp
diff options
context:
space:
mode:
authorLaszlo Papp <lpapp@kde.org>2013-08-21 06:21:06 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-21 17:07:38 +0200
commit0f13f6ff3b1b83f3e07a4d7fa709e39bde6f64a6 (patch)
treeedf48d6fa5c5847356d3ae2f75cb23f1279e0782 /src/serialport/qserialport_wince.cpp
parent4bdbbe4c87676ca94daae947ac5908d77966319b (diff)
Add API for handling the time out errors when waiting for read or write
Task-number: QTBUG-32680 Change-Id: I1e69bea596b45867119c681bd22abba6dbb1861c Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Diffstat (limited to 'src/serialport/qserialport_wince.cpp')
-rw-r--r--src/serialport/qserialport_wince.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/serialport/qserialport_wince.cpp b/src/serialport/qserialport_wince.cpp
index 2123d17c..3e6b31e5 100644
--- a/src/serialport/qserialport_wince.cpp
+++ b/src/serialport/qserialport_wince.cpp
@@ -435,6 +435,8 @@ bool QSerialPortPrivate::waitForReadOrWrite(bool *selectForRead, bool *selectFor
bool checkRead, bool checkWrite,
int msecs, bool *timedOut)
{
+ Q_Q(QSerialPort);
+
DWORD eventMask = 0;
// FIXME: Here the situation is not properly handled with zero timeout:
// breaker can work out before you call a method WaitCommEvent()
@@ -443,8 +445,10 @@ bool QSerialPortPrivate::waitForReadOrWrite(bool *selectForRead, bool *selectFor
::WaitCommEvent(descriptor, &eventMask, NULL);
breaker.stop();
- if (breaker.isWorked())
+ if (breaker.isWorked()) {
*timedOut = true;
+ q->setError(QSerialPort::TimeoutError);
+ }
if (!breaker.isWorked()) {
if (checkRead) {