diff options
-rw-r--r-- | src/irmd/main.c | 3 | ||||
-rw-r--r-- | src/lib/dev.c | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c index 9904bcce..4d511af9 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -1770,9 +1770,6 @@ void * irm_sanitize(void * o) irm_flow_set_state(f, FLOW_DEALLOC_PENDING); ipcpi = f->n_1_api; port_id = f->port_id; - pthread_rwlock_unlock(&irmd.flows_lock); - ipcp_flow_dealloc(ipcpi, port_id); - pthread_rwlock_wrlock(&irmd.flows_lock); continue; } diff --git a/src/lib/dev.c b/src/lib/dev.c index 3c81d1db..a577ca80 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -1369,7 +1369,8 @@ void ipcp_flow_fini(int fd) pthread_rwlock_unlock(&ai.lock); - shm_rbuff_fini(rx_rb); + if (rx_rb != NULL) + shm_rbuff_fini(rx_rb); } int ipcp_flow_get_qoscube(int fd, |