From 35e0e146e616484fa592705894337f71fb5fb745 Mon Sep 17 00:00:00 2001 From: Mykola Baibuz Date: Wed, 19 Feb 2025 14:34:26 +0200 Subject: [PATCH] Rewrite timeouts using waitForSource --- client/core/ipcclient.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/client/core/ipcclient.cpp b/client/core/ipcclient.cpp index 7b13ba07..da08ea04 100644 --- a/client/core/ipcclient.cpp +++ b/client/core/ipcclient.cpp @@ -1,7 +1,5 @@ #include "ipcclient.h" #include -#include -#include IpcClient *IpcClient::m_instance = nullptr; @@ -46,14 +44,12 @@ bool IpcClient::init(IpcClient *instance) Instance()->m_localSocket = new QLocalSocket(Instance()); connect(Instance()->m_localSocket.data(), &QLocalSocket::connected, &Instance()->m_ClientNode, []() { Instance()->m_ClientNode.addClientSideConnection(Instance()->m_localSocket.data()); - - Instance()->m_ipcClient.reset(Instance()->m_ClientNode.acquire()); -#ifdef Q_OS_WIN - std::this_thread::sleep_for(std::chrono::seconds(2)); //< wait until client is ready -#endif + auto cliNode = Instance()->m_ClientNode.acquire(); + cliNode->waitForSource(5000); + Instance()->m_ipcClient.reset(cliNode); if (!Instance()->m_ipcClient) { - qFatal() << "IpcClient is not ready!"; + qWarning() << "IpcClient is not ready!"; } Instance()->m_ipcClient->waitForSource(1000); @@ -64,12 +60,12 @@ bool IpcClient::init(IpcClient *instance) Instance()->m_Tun2SocksClient.reset(Instance()->m_ClientNode.acquire()); -#ifdef Q_OS_WIN - std::this_thread::sleep_for(std::chrono::seconds(5)); //< wait until client is ready -#endif + auto t2sNode = Instance()->m_ClientNode.acquire(); + t2sNode->waitForSource(5000); + Instance()->m_ipcClient.reset(t2sNode); if (!Instance()->m_Tun2SocksClient) { - qFatal() << "IpcClient::m_Tun2SocksClient is not ready!"; + qWarning() << "IpcClient::m_Tun2SocksClient is not ready!"; } Instance()->m_Tun2SocksClient->waitForSource(1000);