mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 09:31:45 +00:00
DDS plugin: Do not block the DDS KeyValue callback
This commit is contained in:
@@ -11,6 +11,9 @@
|
||||
|
||||
#include <DDS/dds_env_prop.h>
|
||||
#include <DDS/dds_intercom.h>
|
||||
#include <boost/asio/executor.hpp>
|
||||
#include <boost/asio/executor_work_guard.hpp>
|
||||
#include <boost/asio/io_context.hpp>
|
||||
#include <cassert>
|
||||
#include <chrono>
|
||||
#include <condition_variable>
|
||||
@@ -172,6 +175,10 @@ class DDS : public Plugin
|
||||
bool fUpdatesAllowed;
|
||||
std::mutex fUpdateMutex;
|
||||
std::condition_variable fUpdateCondition;
|
||||
|
||||
std::thread fWorkerThread;
|
||||
boost::asio::io_context fWorkerQueue;
|
||||
boost::asio::executor_work_guard<boost::asio::executor> fWorkGuard;
|
||||
};
|
||||
|
||||
Plugin::ProgOptions DDSProgramOptions()
|
||||
|
Reference in New Issue
Block a user