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 <cassert>
bool MavlinkCommandSender::_init = false;
MavlinkCommandSender *MavlinkCommandSender::_instance = nullptr;
px4_sem_t MavlinkCommandSender::_lock;
void MavlinkCommandSender::initialize()
{
if (_init) {
return;
}
px4_sem_init(&_lock, 1, 1);
_init = true;
if (_instance == nullptr) {
_instance = new MavlinkCommandSender();
}
}
MavlinkCommandSender &MavlinkCommandSender::instance()
{
if (_instance == nullptr) {
_instance = new MavlinkCommandSender();
}
return *_instance;
}

View File

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