FairMQ DDS plugin: fix incomplete shutdown when dds server is terminated

This commit is contained in:
Alexey Rybalchenko
2018-02-13 08:37:09 +01:00
committed by Mohammad Al-Turany
parent f8d4fe01d0
commit abcc5083f2
4 changed files with 38 additions and 33 deletions

View File

@@ -21,7 +21,6 @@
#include <vector>
#include <unordered_map>
#include <set>
#include <boost/asio.hpp>
#include <chrono>
#include <functional>
@@ -61,7 +60,7 @@ class DDS : public Plugin
auto PublishBoundChannels() -> void;
auto SubscribeForCustomCommands() -> void;
auto Heartbeat(const boost::system::error_code&) -> void;
auto HeartbeatSender() -> void;
dds::intercom_api::CIntercomService fService;
dds::intercom_api::CCustomCmd fDDSCustomCmd;
@@ -87,10 +86,7 @@ class DDS : public Plugin
std::set<uint64_t> fStateChangeSubscribers;
std::mutex fStateChangeSubscriberMutex;
boost::asio::io_service fIos;
boost::asio::io_service::work fIosWork;
std::thread fIosWorkerThread;
boost::asio::basic_waitable_timer<std::chrono::steady_clock> fHeartbeatTimer;
std::thread fHeartbeatThread;
std::chrono::milliseconds fHeartbeatInterval;
};