diff --git a/include/iri_ros_tools/module_action.h b/include/iri_ros_tools/module_action.h index e2998772f99c680338580d2577ac853e098a7d39..c960934688f68c886565021f50e2b0bef5d16b1b 100644 --- a/include/iri_ros_tools/module_action.h +++ b/include/iri_ros_tools/module_action.h @@ -869,11 +869,16 @@ bool CModuleAction<action_ros,dyn_reconf_config>::is_finished(void) if(this->enabled) { + if(this->is_timeout_active() || this->is_watchdog_active()) + this->cancel(); action_state=action_client->getState(); if(action_state==actionlib::SimpleClientGoalState::ACTIVE || action_state==actionlib::SimpleClientGoalState::PENDING) return false; else + { + this->stop_timeout(); return true; + } } else return true;