another segv on cloud

This commit is contained in:
2024-03-31 20:31:35 +03:00
parent c7c3852747
commit fb68a9f9fe

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);