Ack with one minor comment.
Thanks,
Praveen
On 15-Feb-17 7:50 AM, Gary Lee wrote:
> src/amf/amfd/su.cc | 12 ++++++++++--
> 1 files changed, 10 insertions(+), 2 deletions(-)
>
>
> Someone could change saAmfSUMaintenanceCampaign more than once in a CCB.
> We should not assert / cause a node reboot because of this.
>
> diff --git a/src/amf/amfd/su.cc b/src/amf/amfd/su.cc
> --- a/src/amf/amfd/su.cc
> +++ b/src/amf/amfd/su.cc
> @@ -1869,9 +1869,17 @@ static void su_ccb_apply_modify_hdlr(str
> su->saAmfSUMaintenanceCampaign = "";
> TRACE("saAmfSUMaintenanceCampaign cleared for
> '%s'", su->name.c_str());
> } else {
> -
> osafassert(su->saAmfSUMaintenanceCampaign.empty() == true);
> - su->saAmfSUMaintenanceCampaign = Amf::to_string(
> + const std::string saAmfSUMaintenanceCampaign =
> Amf::to_string(
I think the variable name can be kept tmp_saAmfSUMaintenanceCampaign.
>
> reinterpret_cast<SaNameT*>(attr_mod->modAttr.attrValues[0]));
> + // there is a check in completed callback to
> ensure saAmfSUMaintenanceCampaign is empty
> + // before allowing modification but
> saAmfSUMaintenanceCampaign could be changed
> + // multiple times in a CCB
> + if (su->saAmfSUMaintenanceCampaign.empty() ==
> false &&
> +
> su->saAmfSUMaintenanceCampaign.compare(saAmfSUMaintenanceCampaign) != 0) {
> + LOG_WA("saAmfSUMaintenanceCampaign set
> multiple times in CCB for '%s'",
> + su->name.c_str());
> + }
> + su->saAmfSUMaintenanceCampaign =
> saAmfSUMaintenanceCampaign;
> TRACE("saAmfSUMaintenanceCampaign set to '%s'
> for '%s'",
>
> su->saAmfSUMaintenanceCampaign.c_str(), su->name.c_str());
> }
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel