I encountered a crash error when I try open and close many ipcserver.
I inspected and I think the reason libqb miss release element qb_list_head from qb_ipc_services list.
Here are ipcs.c in row 213:
qb_ipcs_unref(struct qb_ipcs_service *s)
{
int32_t free_it;
assert(s->ref_count > 0);
free_it = qb_atomic_int_dec_and_test(&s->ref_count);
if (free_it) {
qb_util_log(LOG_DEBUG, "%s() - destroying", __func__);
free(s);
}
}
I added more qb_list_del(&s->list) before free(s). And it works