From 779b5558672342856587f344920da28e826118c9 Mon Sep 17 00:00:00 2001 From: Sai Kishor Kothakota Date: Tue, 25 Mar 2025 17:47:36 +0100 Subject: [PATCH] [JSB] skip publish on no subscription --- joint_state_broadcaster/src/joint_state_broadcaster.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/joint_state_broadcaster/src/joint_state_broadcaster.cpp b/joint_state_broadcaster/src/joint_state_broadcaster.cpp index 5f4e92d857..0c5ed3d9b9 100644 --- a/joint_state_broadcaster/src/joint_state_broadcaster.cpp +++ b/joint_state_broadcaster/src/joint_state_broadcaster.cpp @@ -351,7 +351,9 @@ controller_interface::return_type JointStateBroadcaster::update( state_interface.get_value()); } - if (realtime_joint_state_publisher_ && realtime_joint_state_publisher_->trylock()) + if ( + realtime_joint_state_publisher_ && joint_state_publisher_->get_subscription_count() > 0u && + realtime_joint_state_publisher_->trylock()) { auto & joint_state_msg = realtime_joint_state_publisher_->msg_; @@ -369,7 +371,10 @@ controller_interface::return_type JointStateBroadcaster::update( realtime_joint_state_publisher_->unlockAndPublish(); } - if (realtime_dynamic_joint_state_publisher_ && realtime_dynamic_joint_state_publisher_->trylock()) + if ( + realtime_dynamic_joint_state_publisher_ && + dynamic_joint_state_publisher_->get_subscription_count() > 0u && + realtime_dynamic_joint_state_publisher_->trylock()) { auto & dynamic_joint_state_msg = realtime_dynamic_joint_state_publisher_->msg_; dynamic_joint_state_msg.header.stamp = time;