From 8b4b06f1bed08a4d265d3fbd38700e828f8464ff Mon Sep 17 00:00:00 2001
From: SChernykh <15806605+SChernykh@users.noreply.github.com>
Date: Sat, 22 Mar 2025 21:44:07 +0100
Subject: [PATCH] ZMQ: fixed connect detection

It could give false negative if the connection took >= 1000 ms.
---
 src/zmq_reader.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/zmq_reader.cpp b/src/zmq_reader.cpp
index d7c9a9e..2bd26f7 100644
--- a/src/zmq_reader.cpp
+++ b/src/zmq_reader.cpp
@@ -231,6 +231,9 @@ bool ZMQReader::connect(const std::string& address, bool keep_monitor)
 	m_subscriber.connect(address);
 
 	while (!monitor->m_connected && monitor->check_event(-1)) {
+		if (monitor->m_connected) {
+			break;
+		}
 		if (duration_cast<milliseconds>(steady_clock::now() - start_time).count() >= 1000) {
 			LOGERR(1, "failed to connect to " << address);
 			delete monitor;