From 7afa011741194274977f64c2989facfcf2a93d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Thu, 9 Nov 2023 16:36:05 +0100 Subject: [PATCH] mavlink_mission: publish mission after updating dataman This avoids a potential race condition when dataman also updates dataman as a result of the publication. --- src/modules/mavlink/mavlink_mission.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index 330fd429de..d895bdd31d 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -161,8 +161,6 @@ MavlinkMissionManager::update_active_mission(dm_item_t dataman_id, uint16_t coun _current_seq = seq; _my_dataman_id = _dataman_id; - _offboard_mission_pub.publish(mission); - if (write_to_dataman) { bool success = _dataman_client.writeSync(DM_KEY_MISSION_STATE, 0, reinterpret_cast(&mission), sizeof(mission_s)); @@ -171,6 +169,8 @@ MavlinkMissionManager::update_active_mission(dm_item_t dataman_id, uint16_t coun PX4_ERR("Can't update mission state in Dataman"); } } + + _offboard_mission_pub.publish(mission); } int