fix cloud ... :-/
This commit is contained in:
@@ -49,6 +49,9 @@ void DispatcherServer::cleanClients() {
|
||||
if (!c->isPIObject()) piCout << "ACHTUNG! Non-piobject client!";
|
||||
}
|
||||
piDeleteAllAndClear(rmrf_clients);
|
||||
for (auto s: rmrf_servers)
|
||||
s->close();
|
||||
piDeleteAllAndClear(rmrf_servers);
|
||||
for (auto c: clients) {
|
||||
if (!index_c_servers.contains(c) && !index_c_clients.contains(c)) {
|
||||
if (!rm_clients.contains(c)) rm_clients << c;
|
||||
@@ -205,7 +208,7 @@ void DispatcherServer::disconnectClient(DispatcherClient * client) {
|
||||
}
|
||||
c_servers.remove(cs->serverUUID());
|
||||
index_c_servers.remove(client);
|
||||
delete cs;
|
||||
if (!rmrf_servers.contains(cs)) rmrf_servers << cs;
|
||||
}
|
||||
CloudServer * cc = index_c_clients.value(client, nullptr);
|
||||
if (cc) {
|
||||
|
||||
@@ -36,6 +36,7 @@ private:
|
||||
PIMap<const DispatcherClient *, CloudServer *> index_c_clients;
|
||||
PIVector<DispatcherClient *> rm_clients;
|
||||
PIVector<DispatcherClient *> rmrf_clients;
|
||||
PIVector<CloudServer *> rmrf_servers;
|
||||
PITimer timeout_timer;
|
||||
PIMutex map_mutex;
|
||||
uint client_gid;
|
||||
|
||||
Reference in New Issue
Block a user