Ack, code review only.

Thanks
Praveen


On 28-Sep-15 12:46 PM, [email protected] wrote:
>   osaf/services/saf/amf/amfnd/comp.cc |  15 +++++++++++++++
>   1 files changed, 15 insertions(+), 0 deletions(-)
>
>
> When called finalize in term callback, the term_cbq_inv_value is not reset. 
> So,
> when the component is killed later on, then from avnd_evt_mds_ava_dn_evh, the
> recovery is bypassed because of term_cbq_inv_value is set.
> This patch resets term_cbq_inv_value during finalize call.
>
> diff --git a/osaf/services/saf/amf/amfnd/comp.cc 
> b/osaf/services/saf/amf/amfnd/comp.cc
> --- a/osaf/services/saf/amf/amfnd/comp.cc
> +++ b/osaf/services/saf/amf/amfnd/comp.cc
> @@ -82,6 +82,21 @@ uint32_t avnd_evt_ava_finalize_evh(AVND_
>               goto done;
>       }
>
> +     /* If Amf was waiting for down event to come regarding term cbq, but
> +        finalize has come, so reset the variable (irrespective of Sa-Aware
> +        PI or Proxied PI) and proceed for finalize. */
> +
> +     if (comp->term_cbq_inv_value != 0) {
> +             AVND_COMP_CBK *cbk_rec;
> +             /* Amf was waiting for this down event. Get the matching
> +                entry from the cbk list and delete the cbq */
> +             m_AVND_COMP_CBQ_INV_GET(comp, comp->term_cbq_inv_value, 
> cbk_rec);
> +             comp->term_cbq_inv_value = 0;
> +             rc = avnd_comp_clc_fsm_run(cb, comp, 
> AVND_COMP_CLC_PRES_FSM_EV_TERM_SUCC);
> +             if (cbk_rec)
> +                     avnd_comp_cbq_rec_pop_and_del(cb, comp, cbk_rec, false);
> +     }
> +
>       /* npi comps dont interact with amf */
>       if (!m_AVND_COMP_TYPE_IS_PREINSTANTIABLE(comp) && 
> !m_AVND_COMP_TYPE_IS_PROXIED(comp))
>               goto done;
>

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to