diff --git a/src/adc_jury_server_alg_node.cpp b/src/adc_jury_server_alg_node.cpp index 1b4b42fa8c34a52b9dae6bc8d8f6d0fd6eaac6f2..47aa5f43b877251bb48307306fd0f0aca0cabd94 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;