mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 09:31:45 +00:00
DDS plugin: fix exiting timeout
This commit is contained in:
committed by
Dennis Klein
parent
21835cc104
commit
beff0af51b
@@ -92,6 +92,9 @@ DDS::DDS(const string& name,
|
||||
break;
|
||||
}
|
||||
case DeviceState::Exiting:
|
||||
if (!fControllerThread.joinable()) {
|
||||
fControllerThread = thread(&DDS::WaitForExitingAck, this);
|
||||
}
|
||||
fWorkGuard.reset();
|
||||
fDeviceTerminationRequested = true;
|
||||
UnsubscribeFromDeviceStateChange();
|
||||
@@ -358,9 +361,6 @@ auto DDS::SubscribeForCustomCommands() -> void
|
||||
case cmd::Type::subscribe_to_state_change: {
|
||||
lock_guard<mutex> lock{fStateChangeSubscriberMutex};
|
||||
fStateChangeSubscribers.insert(senderId);
|
||||
if (!fControllerThread.joinable()) {
|
||||
fControllerThread = thread(&DDS::WaitForExitingAck, this);
|
||||
}
|
||||
|
||||
LOG(debug) << "Publishing state-change: " << fLastState << "->" << fCurrentState
|
||||
<< " to " << senderId;
|
||||
|
Reference in New Issue
Block a user