UDPC_update now locks the mutex to keep it thread-safe.
decltype(now) nextNow;
while(ctx->threadRunning.load()) {
now = std::chrono::steady_clock::now();
- ctx->mutex.lock();
- ctx->update_impl();
- ctx->mutex.unlock();
+ {
+ std::lock_guard<std::mutex> lock(ctx->mutex);
+ ctx->update_impl();
+ }
nextNow = std::chrono::steady_clock::now();
std::this_thread::sleep_for(ctx->threadedSleepTime - (nextNow - now));
}
return;
}
+ std::lock_guard<std::mutex> lock(c->mutex);
c->update_impl();
}