File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -318,14 +318,19 @@ ClientBase::handle_result_response(
318318 const rmw_request_id_t & response_header,
319319 std::shared_ptr<void > response)
320320{
321- std::lock_guard<std::mutex> guard (pimpl_->result_requests_mutex );
322- const int64_t & sequence_number = response_header.sequence_number ;
323- if (pimpl_->pending_result_responses .count (sequence_number) == 0 ) {
324- RCLCPP_ERROR (pimpl_->logger , " unknown result response, ignoring..." );
325- return ;
321+ std::map<int64_t , ResponseCallback>::node_type pending_result_response;
322+ {
323+ std::lock_guard<std::mutex> guard (pimpl_->result_requests_mutex );
324+ const int64_t & sequence_number = response_header.sequence_number ;
325+ if (pimpl_->pending_result_responses .count (sequence_number) == 0 ) {
326+ RCLCPP_ERROR (pimpl_->logger , " unknown result response, ignoring..." );
327+ return ;
328+ }
329+ pending_result_response =
330+ pimpl_->pending_result_responses .extract (sequence_number);
326331 }
327- pimpl_-> pending_result_responses [sequence_number](response );
328- pimpl_-> pending_result_responses . erase (sequence_number );
332+ auto & response_callback = pending_result_response. mapped ( );
333+ response_callback (response );
329334}
330335
331336void
You can’t perform that action at this time.
0 commit comments