mavlink_command_sender: instantiate in initialize

This commit is contained in:
Julian Oes
2017-07-06 15:04:12 +02:00
committed by Lorenz Meier
parent c66af00753
commit 893b7b5d46
2 changed files with 4 additions and 12 deletions

View File

@@ -42,25 +42,20 @@
#include <px4_log.h> #include <px4_log.h>
#include <cassert> #include <cassert>
bool MavlinkCommandSender::_init = false;
MavlinkCommandSender *MavlinkCommandSender::_instance = nullptr; MavlinkCommandSender *MavlinkCommandSender::_instance = nullptr;
px4_sem_t MavlinkCommandSender::_lock; px4_sem_t MavlinkCommandSender::_lock;
void MavlinkCommandSender::initialize() void MavlinkCommandSender::initialize()
{ {
if (_init) {
return;
}
px4_sem_init(&_lock, 1, 1); px4_sem_init(&_lock, 1, 1);
_init = true;
if (_instance == nullptr) {
_instance = new MavlinkCommandSender();
}
} }
MavlinkCommandSender &MavlinkCommandSender::instance() MavlinkCommandSender &MavlinkCommandSender::instance()
{ {
if (_instance == nullptr) {
_instance = new MavlinkCommandSender();
}
return *_instance; return *_instance;
} }

View File

@@ -98,10 +98,7 @@ private:
px4_sem_post(&_lock); px4_sem_post(&_lock);
} }
static bool _init;
static MavlinkCommandSender *_instance; static MavlinkCommandSender *_instance;
static px4_sem_t _lock; static px4_sem_t _lock;
// There are MAVLINK_COMM_0 to MAVLINK_COMM_3, so it should be 4. // There are MAVLINK_COMM_0 to MAVLINK_COMM_3, so it should be 4.