diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index 0527059757..a1596284f1 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -2417,10 +2417,10 @@ Mavlink::task_main(int argc, char *argv[]) /* check for ulog streaming messages */ if (_mavlink_ulog) { - if (_mavlink_ulog_stop_requested) { + if (_mavlink_ulog_stop_requested.load()) { _mavlink_ulog->stop(); _mavlink_ulog = nullptr; - _mavlink_ulog_stop_requested = false; + _mavlink_ulog_stop_requested.store(false); } else { if (cmd_logging_start_acknowledgement) { diff --git a/src/modules/mavlink/mavlink_main.h b/src/modules/mavlink/mavlink_main.h index f997ab2ece..441e2f06e3 100644 --- a/src/modules/mavlink/mavlink_main.h +++ b/src/modules/mavlink/mavlink_main.h @@ -497,7 +497,7 @@ public: } void request_stop_ulog_streaming() { - if (_mavlink_ulog) { _mavlink_ulog_stop_requested = true; } + if (_mavlink_ulog) { _mavlink_ulog_stop_requested.store(true); } } bool ftp_enabled() const { return _ftp_on; } @@ -569,7 +569,7 @@ private: MavlinkShell *_mavlink_shell{nullptr}; MavlinkULog *_mavlink_ulog{nullptr}; - volatile bool _mavlink_ulog_stop_requested{false}; + px4::atomic_bool _mavlink_ulog_stop_requested{false}; MAVLINK_MODE _mode{MAVLINK_MODE_NORMAL};