diff options
Diffstat (limited to 'src/ipcpd')
-rw-r--r-- | src/ipcpd/ipcp.c | 4 | ||||
-rw-r--r-- | src/ipcpd/normal/dht.c | 2 | ||||
-rw-r--r-- | src/ipcpd/normal/dt.c | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/ipcpd/ipcp.c b/src/ipcpd/ipcp.c index 300c22f4..ff45407b 100644 --- a/src/ipcpd/ipcp.c +++ b/src/ipcpd/ipcp.c @@ -184,10 +184,8 @@ static void * mainloop(void * o) if (sfd == -1) { pthread_mutex_unlock(&ipcpi.cmd_lock); - if (tpm_check()) { - close(sfd); + if (tpm_check()) break; - } continue; } diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c index 65e26406..b5d52d93 100644 --- a/src/ipcpd/normal/dht.c +++ b/src/ipcpd/normal/dht.c @@ -2340,7 +2340,7 @@ void dht_destroy(struct dht * dht) list_for_each_safe(p, h, &dht->requests) { struct kad_req * r = list_entry(p, struct kad_req, next); list_del(&r->next); - free(r); + kad_req_destroy(r); } list_for_each_safe(p, h, &dht->refs) { diff --git a/src/ipcpd/normal/dt.c b/src/ipcpd/normal/dt.c index 173266f4..f4ab2440 100644 --- a/src/ipcpd/normal/dt.c +++ b/src/ipcpd/normal/dt.c @@ -252,6 +252,10 @@ void dt_fini(void) { int i; + bmp_destroy(dt.res_fds); + + pthread_rwlock_destroy(&dt.lock); + for (i = 0; i < QOS_CUBE_MAX; ++i) routing_i_destroy(dt.routing[i]); |