diff --git a/fairmq/Device.cxx b/fairmq/Device.cxx index bfb7d87a..06c8ab89 100644 --- a/fairmq/Device.cxx +++ b/fairmq/Device.cxx @@ -304,7 +304,7 @@ void Device::ConnectWrapper() // first attempt AttachChannels(fUninitializedConnectingChannels); // if not all channels could be connected, update their address values from config and retry - while (!fUninitializedConnectingChannels.empty()) { + while (!fUninitializedConnectingChannels.empty() && !NewStatePending()) { this_thread::sleep_for(chrono::milliseconds(sleepTimeInMS)); for (auto& chan : fUninitializedConnectingChannels) {