From 5d7b184480e2df0b9d22b587c2cb83192a7138ad Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Tue, 27 Aug 2024 17:30:11 +0200 Subject: [PATCH] b simulators Add mutex Add lock guard in invoke_active_simulator Add lock guard in changed_UI_items --- tools/simulators.cpp | 2 ++ tools/simulators.hpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tools/simulators.cpp b/tools/simulators.cpp index a88bb64..c4085ac 100644 --- a/tools/simulators.cpp +++ b/tools/simulators.cpp @@ -75,6 +75,7 @@ std::vector Simulators::list_simulators() const Simulator_base* Simulators::invoke_active_simulator() { + std::lock_guard lock(m_mutex); if (this->m_simulators.empty()) { return nullptr; @@ -91,6 +92,7 @@ Simulator_base* Simulators::invoke_active_simulator() json Simulators::changed_UI_items() { + std::lock_guard lock(m_mutex); if (this->m_simulators.empty()) { return "{}"_json; diff --git a/tools/simulators.hpp b/tools/simulators.hpp index 3b373af..cd483db 100644 --- a/tools/simulators.hpp +++ b/tools/simulators.hpp @@ -1,6 +1,7 @@ #pragma once #include #include +#include #include "simulator_base.hpp" @@ -19,5 +20,6 @@ class Simulators { private: std::map> m_simulators; std::string m_current_simulator = ""; + std::mutex m_mutex; json m_before; }; \ No newline at end of file