Perhaps this part can moved into to a separate function.
Ack,
Mathi.

On Tue, Sep 18, 2018 at 4:43 PM Jones, Alex <ajo...@rbbn.com> wrote:

> Application can receive START step after responding to VALIDATE step after
> EE has uninstantiated.
>
> Ongoing admin operations are not cleaned up after EE uninstantiates.
>
> Clean up ongoing admin operations and tracking when an EE uninstantiates.
> ---
>  src/plm/plmd/plms_plmc.c | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
>
> diff --git a/src/plm/plmd/plms_plmc.c b/src/plm/plmd/plms_plmc.c
> index cf8687219..566f4559b 100644
> --- a/src/plm/plmd/plms_plmc.c
> +++ b/src/plm/plmd/plms_plmc.c
> @@ -645,6 +645,48 @@ SaUint32T
> plms_plmc_tcp_disconnect_process(PLMS_ENTITY *ent)
>
>         } else { /* If the entity is in insvc, then got to make the entity
>                   to move to OOS.*/
> +               if (ent->adm_op_in_progress &&
> +                       ent->adm_op_in_progress !=
> SA_PLM_CAUSE_EE_RESTART) {
> +                       PLMS_CB *cb = plms_cb;
> +
> +                       /*
> +                        * clean up the current admin op since we are
> about to
> +                        * go OOS
> +                        */
> +                       ret_err = saImmOiAdminOperationResult(
> +                               cb->oi_hdl, ent->trk_info->inv_id,
> SA_AIS_OK);
> +                       if (NCSCC_RC_SUCCESS != ret_err) {
> +                               LOG_ER("Sending admin response to IMM
> failed. "
> +                                       "IMM Ret code: %d",
> +                                       ret_err);
> +                       }
> +
> +                       PLMS_ENTITY_GROUP_INFO_LIST *head =
> +                               ent->trk_info->group_info_list;
> +                       while (head) {
> +                               plms_inv_to_cbk_in_grp_trk_rmv(
> +                                               head->ent_grp_inf,
> +                                               ent->trk_info);
> +                               head = head->next;
> +                       }
> +
> +                       plms_trk_info_free(ent->trk_info);
> +                       ent->trk_info = 0;
> +
> +                       if (ent->adm_op_in_progress ==
> SA_PLM_CAUSE_SHUTDOWN ||
> +                               ent->adm_op_in_progress ==
> SA_PLM_CAUSE_LOCK)
> +                       {
> +                               plms_admin_state_set(ent,
> +                                               SA_PLM_EE_ADMIN_LOCKED,
> +                                               NULL,
> +                                               SA_NTF_OBJECT_OPERATION,
> +
>  SA_PLM_NTFID_STATE_CHANGE_ROOT);
> +                       }
> +
> +                       ent->adm_op_in_progress = false;
> +                       ent->am_i_aff_ent = false;
> +               }
> +
>                 /* Get all the affected entities.*/
>                 plms_affected_ent_list_get(ent, &aff_ent_list, 0);
>
> --
> 2.14.4
>
>

_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to