mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-23 02:00:20 +07:00
Rewrite timeouts using waitForSource
This commit is contained in:
@@ -1,7 +1,5 @@
|
|||||||
#include "ipcclient.h"
|
#include "ipcclient.h"
|
||||||
#include <QRemoteObjectNode>
|
#include <QRemoteObjectNode>
|
||||||
#include <chrono>
|
|
||||||
#include <thread>
|
|
||||||
|
|
||||||
IpcClient *IpcClient::m_instance = nullptr;
|
IpcClient *IpcClient::m_instance = nullptr;
|
||||||
|
|
||||||
@@ -46,14 +44,12 @@ bool IpcClient::init(IpcClient *instance)
|
|||||||
Instance()->m_localSocket = new QLocalSocket(Instance());
|
Instance()->m_localSocket = new QLocalSocket(Instance());
|
||||||
connect(Instance()->m_localSocket.data(), &QLocalSocket::connected, &Instance()->m_ClientNode, []() {
|
connect(Instance()->m_localSocket.data(), &QLocalSocket::connected, &Instance()->m_ClientNode, []() {
|
||||||
Instance()->m_ClientNode.addClientSideConnection(Instance()->m_localSocket.data());
|
Instance()->m_ClientNode.addClientSideConnection(Instance()->m_localSocket.data());
|
||||||
|
auto cliNode = Instance()->m_ClientNode.acquire<IpcInterfaceReplica>();
|
||||||
Instance()->m_ipcClient.reset(Instance()->m_ClientNode.acquire<IpcInterfaceReplica>());
|
cliNode->waitForSource(5000);
|
||||||
#ifdef Q_OS_WIN
|
Instance()->m_ipcClient.reset(cliNode);
|
||||||
std::this_thread::sleep_for(std::chrono::seconds(2)); //< wait until client is ready
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!Instance()->m_ipcClient) {
|
if (!Instance()->m_ipcClient) {
|
||||||
qFatal() << "IpcClient is not ready!";
|
qWarning() << "IpcClient is not ready!";
|
||||||
}
|
}
|
||||||
|
|
||||||
Instance()->m_ipcClient->waitForSource(1000);
|
Instance()->m_ipcClient->waitForSource(1000);
|
||||||
@@ -64,12 +60,12 @@ bool IpcClient::init(IpcClient *instance)
|
|||||||
|
|
||||||
Instance()->m_Tun2SocksClient.reset(Instance()->m_ClientNode.acquire<IpcProcessTun2SocksReplica>());
|
Instance()->m_Tun2SocksClient.reset(Instance()->m_ClientNode.acquire<IpcProcessTun2SocksReplica>());
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
auto t2sNode = Instance()->m_ClientNode.acquire<IpcInterfaceReplica>();
|
||||||
std::this_thread::sleep_for(std::chrono::seconds(5)); //< wait until client is ready
|
t2sNode->waitForSource(5000);
|
||||||
#endif
|
Instance()->m_ipcClient.reset(t2sNode);
|
||||||
|
|
||||||
if (!Instance()->m_Tun2SocksClient) {
|
if (!Instance()->m_Tun2SocksClient) {
|
||||||
qFatal() << "IpcClient::m_Tun2SocksClient is not ready!";
|
qWarning() << "IpcClient::m_Tun2SocksClient is not ready!";
|
||||||
}
|
}
|
||||||
|
|
||||||
Instance()->m_Tun2SocksClient->waitForSource(1000);
|
Instance()->m_Tun2SocksClient->waitForSource(1000);
|
||||||
|
|||||||
Reference in New Issue
Block a user