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
