glibc double free happens when shutting down cserve, while
requests are being processed. this is because the entry is
being deleted from the hash but the cancel request fails
(so it should be deleted again from the hash)
Another patch going to fix the double free.
else
continue;
- eina_hash_del_by_key(hash, &(ref->client_entry_id));
+ if (type != CSERVE2_REQUEST_CANCEL)
+ {
+ DBG("removing entry %u from hash", ref->client_entry_id);
+ eina_hash_del_by_key(hash, &(ref->client_entry_id));
+ }
}
}