From 5e596df85902a1a0951a6973a67a724252c4be45 Mon Sep 17 00:00:00 2001 From: blah Date: Wed, 27 Jan 2016 08:22:06 -0800 Subject: [PATCH] fixed mutex in hardpoint_controler_set() --- src/modules/uavcan/actuators/hardpoint.cpp | 4 +--- src/modules/uavcan/uavcan_main.cpp | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/uavcan/actuators/hardpoint.cpp b/src/modules/uavcan/actuators/hardpoint.cpp index ea1c165309..6d662358bf 100644 --- a/src/modules/uavcan/actuators/hardpoint.cpp +++ b/src/modules/uavcan/actuators/hardpoint.cpp @@ -65,8 +65,6 @@ int UavcanHardpointController::init() void UavcanHardpointController::set_command(uint8_t hardpoint_id, uint16_t command) { - (void)pthread_mutex_lock(&_node_mutex); - _cmd.command = command; _cmd.hardpoint_id = hardpoint_id; @@ -81,7 +79,7 @@ void UavcanHardpointController::set_command(uint8_t hardpoint_id, uint16_t comma if (!_timer.isRunning()) { _timer.startPeriodic(uavcan::MonotonicDuration::fromMSec(1000 / MAX_RATE_HZ)); } - (void)pthread_mutex_lock(&_node_mutex); + } void UavcanHardpointController::periodic_update(const uavcan::TimerEvent &) { diff --git a/src/modules/uavcan/uavcan_main.cpp b/src/modules/uavcan/uavcan_main.cpp index ca97052a65..7822908e84 100644 --- a/src/modules/uavcan/uavcan_main.cpp +++ b/src/modules/uavcan/uavcan_main.cpp @@ -1224,7 +1224,9 @@ void UavcanNode::shrink() void UavcanNode::hardpoint_controller_set(uint8_t hardpoint_id, uint16_t command) { + (void)pthread_mutex_lock(&_node_mutex); _hardpoint_controller.set_command(hardpoint_id, command); + (void)pthread_mutex_lock(&_node_mutex); } /* * App entry point