Skip to content

Commit e8d9526

Browse files
author
Mauro Passerino
committed
Fix data race in Actions: Part 3
1 parent 9bc4a4b commit e8d9526

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

rclcpp/include/rclcpp/experimental/intra_process_manager.hpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -577,11 +577,14 @@ class IntraProcessManager
577577
auto server = get_matching_intra_process_action_server<ActionT>(ipc_action_client_id);
578578

579579
if (server) {
580+
{
581+
std::unique_lock<std::shared_timed_mutex> lock(mutex_);
582+
clients_uuid_to_id_[goal_id] = ipc_action_client_id;
583+
}
584+
580585
server->store_ipc_action_goal_request(
581586
ipc_action_client_id, std::move(goal_request));
582587

583-
std::unique_lock<std::shared_timed_mutex> lock(mutex_);
584-
clients_uuid_to_id_[goal_id] = ipc_action_client_id;
585588
return true;
586589
}
587590
return false;

0 commit comments

Comments
 (0)