[backport foxy] Log error instead of throwing exception in Transition and State reset() mark no except (#1297) (#1378)
* Log error instead of throwing exception in Transition and State reset(), mark no except (#1297) * Catch potential exception in destructor and log Signed-off-by: Stephen Brawner <brawner@gmail.com> * Remove thrown error from reset and mark it no except Signed-off-by: Stephen Brawner <brawner@gmail.com> * Remove noexcept for ABI compatibility Signed-off-by: Stephen Brawner <brawner@gmail.com>
This commit is contained in:
parent
45a47c6448
commit
6e6dd9cb1a
2 changed files with 8 additions and 2 deletions
|
@ -21,6 +21,7 @@
|
|||
#include "rcl_lifecycle/rcl_lifecycle.h"
|
||||
|
||||
#include "rclcpp/exceptions.hpp"
|
||||
#include "rclcpp/logging.hpp"
|
||||
|
||||
#include "rcutils/allocator.h"
|
||||
|
||||
|
@ -157,7 +158,9 @@ State::reset()
|
|||
allocator_.deallocate(state_handle_, allocator_.state);
|
||||
state_handle_ = nullptr;
|
||||
if (ret != RCL_RET_OK) {
|
||||
rclcpp::exceptions::throw_from_rcl_error(ret);
|
||||
RCLCPP_ERROR(
|
||||
rclcpp::get_logger("rclcpp_lifecycle"),
|
||||
"rcl_lifecycle_transition_fini did not complete successfully, leaking memory");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include "rcl_lifecycle/rcl_lifecycle.h"
|
||||
|
||||
#include "rclcpp/exceptions.hpp"
|
||||
#include "rclcpp/logging.hpp"
|
||||
|
||||
#include "rcutils/allocator.h"
|
||||
|
||||
|
@ -261,7 +262,9 @@ Transition::reset()
|
|||
allocator_.deallocate(transition_handle_, allocator_.state);
|
||||
transition_handle_ = nullptr;
|
||||
if (ret != RCL_RET_OK) {
|
||||
rclcpp::exceptions::throw_from_rcl_error(ret);
|
||||
RCLCPP_ERROR(
|
||||
rclcpp::get_logger("rclcpp_lifecycle"),
|
||||
"rcl_lifecycle_transition_fini did not complete successfully, leaking memory");
|
||||
}
|
||||
}
|
||||
} // namespace rclcpp_lifecycle
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue