From 3ef4bcd6c0e4233e755e82463c7711b696fa4778 Mon Sep 17 00:00:00 2001 From: RaulSanchez Date: Wed, 27 Jul 2022 12:02:55 +0200 Subject: [PATCH] Refs #15261: Add lock guard at changing SHM port listener status members Signed-off-by: RaulSanchez --- src/cpp/rtps/transport/shared_mem/SharedMemGlobal.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cpp/rtps/transport/shared_mem/SharedMemGlobal.hpp b/src/cpp/rtps/transport/shared_mem/SharedMemGlobal.hpp index fa12d69f33c..3be0361e22f 100644 --- a/src/cpp/rtps/transport/shared_mem/SharedMemGlobal.hpp +++ b/src/cpp/rtps/transport/shared_mem/SharedMemGlobal.hpp @@ -778,6 +778,8 @@ class SharedMemGlobal uint32_t listener_index, const BufferDescriptor& buffer_descriptor) { + std::lock_guard lock(node_->empty_cv_mutex); + node_->listeners_status[listener_index].descriptor = buffer_descriptor; node_->listeners_status[listener_index].is_processing = true; } @@ -789,6 +791,8 @@ class SharedMemGlobal void listener_processing_stop( uint32_t listener_index) { + std::lock_guard lock(node_->empty_cv_mutex); + node_->listeners_status[listener_index].is_processing = false; }