Skip to content

Commit cfe2ffd

Browse files
committed
Use the memory ordering for better performance
1 parent 0d4c705 commit cfe2ffd

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

hardware_interface/include/hardware_interface/actuator_interface.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,13 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
125125
if (next_trigger_ == TriggerType::READ)
126126
{
127127
const auto ret = read(time, period);
128-
next_trigger_ = TriggerType::WRITE;
128+
next_trigger_.store(TriggerType::WRITE, std::memory_order_release);
129129
return ret;
130130
}
131131
else
132132
{
133133
const auto ret = write(time, period);
134-
next_trigger_ = TriggerType::READ;
134+
next_trigger_.store(TriggerType::READ, std::memory_order_release);
135135
return ret;
136136
}
137137
},
@@ -366,7 +366,7 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
366366
status.result = return_type::ERROR;
367367
if (info_.is_async)
368368
{
369-
if (next_trigger_ == TriggerType::WRITE)
369+
if (next_trigger_.load(std::memory_order_acquire) == TriggerType::WRITE)
370370
{
371371
RCLCPP_WARN(
372372
get_logger(),
@@ -435,7 +435,7 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
435435
status.result = return_type::ERROR;
436436
if (info_.is_async)
437437
{
438-
if (next_trigger_ == TriggerType::READ)
438+
if (next_trigger_.load(std::memory_order_acquire) == TriggerType::READ)
439439
{
440440
RCLCPP_WARN(
441441
get_logger(),

hardware_interface/include/hardware_interface/system_interface.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,13 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
128128
if (next_trigger_ == TriggerType::READ)
129129
{
130130
const auto ret = read(time, period);
131-
next_trigger_ = TriggerType::WRITE;
131+
next_trigger_.store(TriggerType::WRITE, std::memory_order_release);
132132
return ret;
133133
}
134134
else
135135
{
136136
const auto ret = write(time, period);
137-
next_trigger_ = TriggerType::READ;
137+
next_trigger_.store(TriggerType::READ, std::memory_order_release);
138138
return ret;
139139
}
140140
},
@@ -395,7 +395,7 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
395395
status.result = return_type::ERROR;
396396
if (info_.is_async)
397397
{
398-
if (next_trigger_ == TriggerType::WRITE)
398+
if (next_trigger_.load(std::memory_order_acquire) == TriggerType::WRITE)
399399
{
400400
RCLCPP_WARN(
401401
get_logger(),
@@ -464,7 +464,7 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
464464
status.result = return_type::ERROR;
465465
if (info_.is_async)
466466
{
467-
if (next_trigger_ == TriggerType::READ)
467+
if (next_trigger_.load(std::memory_order_acquire) == TriggerType::READ)
468468
{
469469
RCLCPP_WARN(
470470
get_logger(),

0 commit comments

Comments
 (0)