From 93a1bf4f6d0d3f38d72dc7c3990f895943af9537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Mon, 7 Nov 2022 17:32:10 +0300 Subject: [PATCH] some unsuccessfull fixes for picloud --- libs/cloud/picloudclient.cpp | 6 +----- libs/cloud/picloudserver.cpp | 4 ++-- utils/cloud_dispatcher/dispatcherclient.cpp | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/libs/cloud/picloudclient.cpp b/libs/cloud/picloudclient.cpp index db0729c1..4a88b807 100644 --- a/libs/cloud/picloudclient.cpp +++ b/libs/cloud/picloudclient.cpp @@ -45,14 +45,10 @@ PICloudClient::PICloudClient(const PIString & path, PIIODevice::DeviceMode mode) PICloudClient::~PICloudClient() { //piCoutObj << "~PICloudClient()"; - stopAndWait(); - //piCoutObj << "~PICloudClient() closed"; - internalDisconnect(); -// stop(false); + close(); is_deleted = true; internalDisconnect(); - //piCoutObj << "~PICloudClient() done"; } diff --git a/libs/cloud/picloudserver.cpp b/libs/cloud/picloudserver.cpp index c968bff1..98704297 100644 --- a/libs/cloud/picloudserver.cpp +++ b/libs/cloud/picloudserver.cpp @@ -30,6 +30,7 @@ PICloudServer::PICloudServer(const PIString & path, PIIODevice::DeviceMode mode) CONNECTL(ð, disconnected, [this](bool){ piCoutObj << "disconnected"; eth.softStopThreadedRead(); + eth.interrupt(); opened_ = false; ping_timer.stop(false); piMSleep(100); @@ -129,8 +130,8 @@ PICloudServer::Client::~Client() { is_connected = false; cond_buff.notifyOne(); } + stopAndWait(); close(); - stop(); } @@ -140,7 +141,6 @@ bool PICloudServer::Client::openDevice() { bool PICloudServer::Client::closeDevice() { - softStopThreadedRead(); if (is_connected) { server->clientDisconnect(client_id); is_connected = false; diff --git a/utils/cloud_dispatcher/dispatcherclient.cpp b/utils/cloud_dispatcher/dispatcherclient.cpp index b2d53fd4..b370ebb7 100644 --- a/utils/cloud_dispatcher/dispatcherclient.cpp +++ b/utils/cloud_dispatcher/dispatcherclient.cpp @@ -28,7 +28,7 @@ PIString DispatcherClient::address() { void DispatcherClient::close() { eth->softStopThreadedRead(); - eth->close(); + eth->interrupt(); }