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 @@ -319,14 +319,19 @@ ClientBase::handle_result_response(
319319 const rmw_request_id_t & response_header,
320320 std::shared_ptr<void > response)
321321{
322- std::lock_guard<std::mutex> guard (pimpl_->result_requests_mutex );
323- const int64_t & sequence_number = response_header.sequence_number ;
324- if (pimpl_->pending_result_responses .count (sequence_number) == 0 ) {
325- RCLCPP_ERROR (pimpl_->logger , " unknown result response, ignoring..." );
326- return ;
322+ std::map<int64_t , ResponseCallback>::node_type pending_result_response;
323+ {
324+ std::lock_guard<std::mutex> guard (pimpl_->result_requests_mutex );
325+ const int64_t & sequence_number = response_header.sequence_number ;
326+ if (pimpl_->pending_result_responses .count (sequence_number) == 0 ) {
327+ RCLCPP_ERROR (pimpl_->logger , " unknown result response, ignoring..." );
328+ return ;
329+ }
330+ pending_result_response =
331+ pimpl_->pending_result_responses .extract (sequence_number);
327332 }
328- pimpl_-> pending_result_responses [sequence_number](response );
329- pimpl_-> pending_result_responses . erase (sequence_number );
333+ auto & response_callback = pending_result_response. mapped ( );
334+ response_callback (response );
330335}
331336
332337void
You can’t perform that action at this time.
0 commit comments