From c37febb83ccae99d0c2cd5534b06d8c4eb603f96 Mon Sep 17 00:00:00 2001
From: shernand <shernand@iri.upc.edu>
Date: Wed, 27 Oct 2021 18:30:42 +0200
Subject: [PATCH] Checked whether the service client is connected to the server
 or not.

---
 src/adc_jury_server_alg_node.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/adc_jury_server_alg_node.cpp b/src/adc_jury_server_alg_node.cpp
index 1b4b42f..47aa5f4 100644
--- a/src/adc_jury_server_alg_node.cpp
+++ b/src/adc_jury_server_alg_node.cpp
@@ -247,10 +247,15 @@ void AdcJuryServerAlgNode::node_config_update(Config &config, uint32_t level)
     }
     
     ROS_INFO("AdcJuryServerAlgNode:: Calling service set_lights_client_!");
-    if (set_lights_client_.call(set_lights_srv_))
-      ROS_INFO("AdcJuryServerAlgNode:: set_lights_client_ received a response from service server");
+    if(set_lights_client_.waitForExistence(ros::Duration(0)))
+    {
+      if (set_lights_client_.call(set_lights_srv_))
+        ROS_INFO("AdcJuryServerAlgNode:: set_lights_client_ received a response from service server");
+      else
+        ROS_ERROR("AdcJuryServerAlgNode:: Failed to call service on topic %s",this->set_lights_client_.getService().c_str());
+    }
     else
-      ROS_ERROR("AdcJuryServerAlgNode:: Failed to call service on topic %s",this->set_lights_client_.getService().c_str());
+      ROS_ERROR("AdcJuryServerAlgNode:: Service not connected");
   }
  
   this->config_=config;
-- 
GitLab