Compare commits

2 Commits

Author SHA1 Message Date
eb21c85170 version 3.16.1 2024-03-31 20:38:13 +03:00
fb68a9f9fe another segv on cloud 2024-03-31 20:31:35 +03:00
2 changed files with 10 additions and 4 deletions

View File

@@ -3,7 +3,7 @@ cmake_policy(SET CMP0017 NEW) # need include() with .cmake
project(PIP) project(PIP)
set(PIP_MAJOR 3) set(PIP_MAJOR 3)
set(PIP_MINOR 16) set(PIP_MINOR 16)
set(PIP_REVISION 0) set(PIP_REVISION 1)
set(PIP_SUFFIX ) set(PIP_SUFFIX )
set(PIP_COMPANY SHS) set(PIP_COMPANY SHS)
set(PIP_DOMAIN org.SHS) set(PIP_DOMAIN org.SHS)

View File

@@ -49,9 +49,12 @@ void DispatcherServer::cleanClients() {
s->close(); s->close();
piDeleteAllAndClear(rmrf_servers); piDeleteAllAndClear(rmrf_servers);
for (auto c: rmrf_clients) { for (auto c: rmrf_clients) {
if (!c->isPIObject()) piCout << "ACHTUNG! Non-piobject client!"; if (!c->isPIObject())
piCout << "ACHTUNG! Non-piobject client!";
else
delete c;
} }
piDeleteAllAndClear(rmrf_clients); rmrf_clients.clear();
for (auto c: clients) { for (auto c: clients) {
if (!index_c_servers.contains(c) && !index_c_clients.contains(c)) { if (!index_c_servers.contains(c) && !index_c_clients.contains(c)) {
if (!rm_clients.contains(c)) rm_clients << c; if (!rm_clients.contains(c)) rm_clients << c;
@@ -65,7 +68,10 @@ void DispatcherServer::cleanClients() {
c->close(); c->close();
PIVector<DispatcherClient *> cscv = c->getClients(); PIVector<DispatcherClient *> cscv = c->getClients();
for (auto csc: cscv) { for (auto csc: cscv) {
if (!csc->isPIObject()) piCout << "ACHTUNG! Non-piobject DispatcherClient!"; if (!csc->isPIObject()) {
piCout << "ACHTUNG! Non-piobject DispatcherClient!";
continue;
}
clients.removeAll(csc); clients.removeAll(csc);
index_c_clients.remove(csc); index_c_clients.remove(csc);
c->removeClient(csc); c->removeClient(csc);