From 677ae06df89d87ab61a25c553e39f06286a75b16 Mon Sep 17 00:00:00 2001 From: peri4 Date: Mon, 9 Jan 2023 15:35:20 +0300 Subject: [PATCH] PIIODevice::readForTime fix --- libs/main/io_devices/piiodevice.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/main/io_devices/piiodevice.cpp b/libs/main/io_devices/piiodevice.cpp index 99a8cb44..0195e8ea 100644 --- a/libs/main/io_devices/piiodevice.cpp +++ b/libs/main/io_devices/piiodevice.cpp @@ -378,7 +378,8 @@ PIByteArray PIIODevice::readForTime(double timeout_ms) { PIByteArray str; if (timeout_ms <= 0.) return str; ssize_t ret; - uchar * td = new uchar[threaded_read_buffer_size]; + uchar * td = new uchar[threaded_read_buffer_size]; + bool was_br = setOption(BlockingRead, false); tm.reset(); while (tm.elapsed_m() < timeout_ms) { ret = read(td, threaded_read_buffer_size); @@ -387,6 +388,7 @@ PIByteArray PIIODevice::readForTime(double timeout_ms) { else str.append(td, ret); } + setOption(BlockingRead, was_br); delete[] td; return str; }