Merge pull request #2517 from mcharleb/uorb-fixes

uORBManager: allocate instance on first use
This commit is contained in:
Lorenz Meier
2015-07-02 09:19:41 +02:00
4 changed files with 20 additions and 9 deletions
+7 -4
View File
@@ -50,15 +50,18 @@ SRCS = uORBDevices_posix.cpp \
endif
ifeq ($(PX4_TARGET_OS),posix)
SRCS += uORBTest_UnitTest.cpp
SRCS += uORBTest_UnitTest.cpp
endif
ifeq ($(PX4_TARGET_OS),posix-arm)
SRCS += uORBTest_UnitTest.cpp
SRCS += uORBTest_UnitTest.cpp
endif
ifneq ($(PX4_TARGET_OS),qurt)
SRCS += Publication.cpp \
Subscription.cpp
endif
SRCS += objects_common.cpp \
Publication.cpp \
Subscription.cpp \
uORBUtils.cpp \
uORB.cpp \
uORBMain.cpp
+1 -1
View File
@@ -346,7 +346,7 @@ private: // class methods
);
private: // data members
static Manager _Instance;
static Manager *_Instance;
// the communicator channel instance.
uORBCommunicator::IChannel *_comm_channel;
ORBSet _remote_subscriber_topics;
+6 -2
View File
@@ -42,13 +42,17 @@
//========================= Static initializations =================
uORB::Manager uORB::Manager::_Instance;
uORB::Manager *uORB::Manager::_Instance = nullptr;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
uORB::Manager *uORB::Manager::get_instance()
{
return &_Instance;
if (_Instance == nullptr) {
_Instance = new uORB::Manager();
}
return _Instance;
}
//-----------------------------------------------------------------------------
+6 -2
View File
@@ -44,13 +44,17 @@
//========================= Static initializations =================
uORB::Manager uORB::Manager::_Instance;
uORB::Manager *uORB::Manager::_Instance = nullptr;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
uORB::Manager *uORB::Manager::get_instance()
{
return &_Instance;
if (_Instance == nullptr) {
_Instance = new uORB::Manager();
}
return _Instance;
}
//-----------------------------------------------------------------------------