Skip to content

Commit aa99691

Browse files
authored
Merge pull request #118 from mauropasse/mauro/irobot-humble
Do not crash Executor when send_response fails due to client failure
2 parents c1ce5c5 + ce5fd39 commit aa99691

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

rclcpp/include/rclcpp/service.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,14 @@ class Service
555555
{
556556
rcl_ret_t ret = rcl_send_response(get_service_handle().get(), &req_id, &response);
557557

558+
if (ret == RCL_RET_TIMEOUT) {
559+
RCLCPP_WARN(
560+
node_logger_.get_child("rclcpp"),
561+
"failed to send response to %s (timeout): %s",
562+
this->get_service_name(), rcl_get_error_string().str);
563+
rcl_reset_error();
564+
return;
565+
}
558566
if (ret != RCL_RET_OK) {
559567
rclcpp::exceptions::throw_from_rcl_error(ret, "failed to send response");
560568
}

0 commit comments

Comments
 (0)