From 915c8f46c54f127157ce80c030863f650b9853aa Mon Sep 17 00:00:00 2001 From: Cyril Anisimov Date: Sat, 8 Feb 2025 16:34:04 +0100 Subject: [PATCH] add timeouts in ipc client init --- client/core/ipcclient.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/client/core/ipcclient.cpp b/client/core/ipcclient.cpp index b44da1bf..8a316df9 100644 --- a/client/core/ipcclient.cpp +++ b/client/core/ipcclient.cpp @@ -1,5 +1,8 @@ #include "ipcclient.h" #include +#include +#include + IpcClient *IpcClient::m_instance = nullptr; @@ -44,6 +47,12 @@ bool IpcClient::init(IpcClient *instance) Instance()->m_ClientNode.addClientSideConnection(Instance()->m_localSocket.data()); Instance()->m_ipcClient.reset(Instance()->m_ClientNode.acquire()); + std::this_thread::sleep_for(std::chrono::seconds(2)); //< wait until client is ready + + if (!Instance()->m_ipcClient) { + qFatal() << "IpcClient is not ready!"; + } + Instance()->m_ipcClient->waitForSource(1000); if (!Instance()->m_ipcClient->isReplicaValid()) { @@ -51,6 +60,12 @@ bool IpcClient::init(IpcClient *instance) } Instance()->m_Tun2SocksClient.reset(Instance()->m_ClientNode.acquire()); + std::this_thread::sleep_for(std::chrono::seconds(5)); //< wait until client is ready + + if (!Instance()->m_Tun2SocksClient) { + qFatal() << "IpcClient::m_Tun2SocksClient is not ready!"; + } + Instance()->m_Tun2SocksClient->waitForSource(1000); if (!Instance()->m_Tun2SocksClient->isReplicaValid()) {