PIIODevice::readForTime fix

This commit is contained in:
2023-01-09 15:35:20 +03:00
parent 5cc5369d2a
commit 677ae06df8

View File

@@ -379,6 +379,7 @@ PIByteArray PIIODevice::readForTime(double timeout_ms) {
if (timeout_ms <= 0.) return str;
ssize_t ret;
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;
}