diff --git a/examples/region/keep-alive.cxx b/examples/region/keep-alive.cxx index 2509295b..98234bf4 100644 --- a/examples/region/keep-alive.cxx +++ b/examples/region/keep-alive.cxx @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -113,6 +114,7 @@ struct ShmManager bool CheckPresence() { + std::lock_guard lock(localMtx); for (const auto& sc : segmentCfgs) { if (!(fair::mq::shmem::Monitor::SegmentIsPresent(fair::mq::shmem::ShmId{shmId}, sc.id))) { return false; @@ -128,6 +130,7 @@ struct ShmManager void ResetContent() { + std::lock_guard lock(localMtx); fair::mq::shmem::Monitor::ResetContent(fair::mq::shmem::ShmId{shmId}, segmentCfgs, regionCfgs); } @@ -145,6 +148,7 @@ struct ShmManager } std::string shmId; + std::mutex localMtx; map segments; map> regions; std::vector segmentCfgs;