diff options
author | Laszlo Papp <lpapp@kde.org> | 2013-08-21 06:21:06 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-21 17:07:38 +0200 |
commit | 0f13f6ff3b1b83f3e07a4d7fa709e39bde6f64a6 (patch) | |
tree | edf48d6fa5c5847356d3ae2f75cb23f1279e0782 /src/serialport/qserialport_wince.cpp | |
parent | 4bdbbe4c87676ca94daae947ac5908d77966319b (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.cpp | 6 |
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) { |