Module: kamailio Branch: master Commit: 3438dbe5e5149d23c40ba17e1c47f6b9708ac352 URL: https://github.com/kamailio/kamailio/commit/3438dbe5e5149d23c40ba17e1c47f6b9...
Author: Federico Favaro federico@aereo.lan.athonet.com Committer: Federico Favaro federico@aereo.lan.athonet.com Date: 2016-08-01T14:50:39+02:00
ims_usrloc_scscf: Double check contact refs on DB
If the contact is on state CONTACT_DELAYED_DELETE and still has refs > 0 in memory, it could be that it failed to acquire a lock to de-ref the contact. This brings to a leak on the contact DB because the contact will always have refs > 0 and no actual refs on DB. Now, as a fallback, we actually checks on DB the real number of refs of the contact. If this refs is 0, force the number of refs in the record to 0 and mark the contact for deletion.
---
Modified: modules/ims_usrloc_scscf/udomain.c Modified: modules/ims_usrloc_scscf/usrloc_db.c Modified: modules/ims_usrloc_scscf/usrloc_db.h
---
Diff: https://github.com/kamailio/kamailio/commit/3438dbe5e5149d23c40ba17e1c47f6b9... Patch: https://github.com/kamailio/kamailio/commit/3438dbe5e5149d23c40ba17e1c47f6b9...