diff --git a/libs/main/io_utils/piconnection.cpp b/libs/main/io_utils/piconnection.cpp index 50f6e565..8b04f33a 100644 --- a/libs/main/io_utils/piconnection.cpp +++ b/libs/main/io_utils/piconnection.cpp @@ -1234,9 +1234,14 @@ void PIConnection::Sender::tick(int) { if (data.isEmpty()) return; // piCoutObj << "write"<write(data); - PIDiagnostics * diag = parent->diags_.value(d, nullptr); - if (diag && ret > 0) diag->sended(ret); + int ret = d->write(data); + if (ret > 0) { + PIDiagnostics * diag = nullptr; + __device_pool__->lock(); + diag = parent->diags_.value(d, nullptr); + __device_pool__->unlock(); + if (diag) diag->sended(ret); + } } }