Module: kamailio
Branch: master
Commit: 3438dbe5e5149d23c40ba17e1c47f6b9708ac352
URL:
https://github.com/kamailio/kamailio/commit/3438dbe5e5149d23c40ba17e1c47f6b…
Author: Federico Favaro <federico(a)aereo.lan.athonet.com>
Committer: Federico Favaro <federico(a)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/3438dbe5e5149d23c40ba17e1c47f6b…
Patch:
https://github.com/kamailio/kamailio/commit/3438dbe5e5149d23c40ba17e1c47f6b…