[sr-dev] git:master:82c42dd9: modules/ims_registrar_scscf: protection around sending notifications - prevent races
jaybeepee
jason.penton at gmail.com
Thu Mar 17 08:54:56 CET 2016
Module: kamailio
Branch: master
Commit: 82c42dd91c5f715a17fca767ade700afde29c7a5
URL: https://github.com/kamailio/kamailio/commit/82c42dd91c5f715a17fca767ade700afde29c7a5
Author: jaybeepee <jason.penton at gmail.com>
Committer: jaybeepee <jason.penton at gmail.com>
Date: 2016-03-17T09:51:42+02:00
modules/ims_registrar_scscf: protection around sending notifications - prevent races
---
Modified: modules/ims_registrar_scscf/save.c
---
Diff: https://github.com/kamailio/kamailio/commit/82c42dd91c5f715a17fca767ade700afde29c7a5.diff
Patch: https://github.com/kamailio/kamailio/commit/82c42dd91c5f715a17fca767ade700afde29c7a5.patch
---
diff --git a/modules/ims_registrar_scscf/save.c b/modules/ims_registrar_scscf/save.c
index a33dbcf..d677272 100644
--- a/modules/ims_registrar_scscf/save.c
+++ b/modules/ims_registrar_scscf/save.c
@@ -859,11 +859,14 @@ int update_contacts(struct sip_msg* msg, udomain_t* _d,
LM_DBG("ref count after sub is now %d\n", subscription->ref_count);
ul.unlock_subscription(subscription);
+ ul.lock_udomain(_d, public_identity);
//finally we update the explicit IMPU record with the new data
if (ul.update_impurecord(_d, public_identity, 0, reg_state, -1 /*do not change send sar on delete */, 0 /*this is explicit so barring must be 0*/, 0, s, ccf1, ccf2, ecf1, ecf2, &impu_rec) != 0) {
LM_ERR("Unable to update explicit impurecord for <%.*s>\n", public_identity->len, public_identity->s);
}
+
notify_subscribers(impu_rec);
+ ul.unlock_udomain(_d, public_identity);
break;
case AVP_IMS_SAR_USER_DEREGISTRATION:
/*TODO: if its not a star lets find all the contact records and remove them*/
More information about the sr-dev
mailing list