[PATCH] qtbluetooth: add a read timeout
Anton Lundin
glance at acc.umu.se
Mon Sep 21 13:41:10 PDT 2015
On 21 September, 2015 - Anton Lundin wrote:
> This adds a read timeout to the qt serial bluetooth code. This is needed
> for error handling and error recovery purposes.
>
> Signed-off-by: Anton Lundin <glance at acc.umu.se>
> ---
> qtserialbluetooth.cpp | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/qtserialbluetooth.cpp b/qtserialbluetooth.cpp
> index 442702d..6e717a3 100644
> --- a/qtserialbluetooth.cpp
> +++ b/qtserialbluetooth.cpp
> @@ -248,8 +248,15 @@ static int qt_serial_read(serial_t *device, void* data, unsigned int size)
> } else if (rc == 0) {
> // Wait until the device is available for read operations
> QEventLoop loop;
> + QTimer timer;
> + timer.setSingleShot(true);
> + loop.connect(&timer, SIGNAL(timeout()), SLOT(quit()));
> loop.connect(device->socket, SIGNAL(readyRead()), SLOT(quit()));
> + timer.start(device->timeout);
> loop.exec();
> +
> + if (!timer.isActive())
> + return 0;
Darn! Should have bin nbytes instead of zero here.
Dirk: will you fix that typo?
//Anton - who codes one thing and then sends something else out
--
Anton Lundin +46702-161604
More information about the subsurface
mailing list