another segv on cloud
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user