[sr-dev] git:master: modules/ims_registrar_pcscf: Add domain unlock to prevent deadlock when processing notifies

Richard Good richard.good at smilecoms.com
Mon Feb 10 17:06:11 CET 2014


Module: sip-router
Branch: master
Commit: 3630f36c1e34562e93267d87f9e83a69cf8dd861
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=3630f36c1e34562e93267d87f9e83a69cf8dd861

Author: Richard Good <richard.good at smilecoms.com>
Committer: Richard Good <richard.good at smilecoms.com>
Date:   Mon Feb 10 18:05:12 2014 +0200

modules/ims_registrar_pcscf: Add domain unlock to prevent deadlock when processing notifies

---

 modules/ims_registrar_pcscf/notify.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/modules/ims_registrar_pcscf/notify.c b/modules/ims_registrar_pcscf/notify.c
index 719f1dc..67f03ac 100644
--- a/modules/ims_registrar_pcscf/notify.c
+++ b/modules/ims_registrar_pcscf/notify.c
@@ -106,7 +106,8 @@ int process_contact(udomain_t * _d, int expires, str contact_uri, int contact_st
 	if (ul.get_pcontact(_d, &contact_uri, &pcontact) != 0) { //contact does not exist
 	    if (contact_state == STATE_TERMINATED) {
 		LM_DBG("This contact: <%.*s> is in state terminated and is not in usrloc, ignore\n", contact_uri.len, contact_uri.s);
-		return 1;
+		ret = RESULT_CONTACTS_FOUND;
+		goto done;
 	    }
 		LM_DBG("This contact: <%.*s> is in state active and is not in usrloc so adding it to usrloc, expires: %d which is in %d seconds\n", contact_uri.len, contact_uri.s, expires, expires-local_time_now);
 		if (ul.insert_pcontact(_d, &contact_uri, &ci, &pcontact) != 0) {




More information about the sr-dev mailing list