This ticket address the issue in IMM agent init.
IMM agent alway got the SA_AIS_ERR_LIBRARY even
if IMM has started successfully.

This fix is destroy lib_req when leap startup fail
---
 src/base/ncs_main_pub.c | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/base/ncs_main_pub.c b/src/base/ncs_main_pub.c
index d85dc6b47..6ab258c97 100644
--- a/src/base/ncs_main_pub.c
+++ b/src/base/ncs_main_pub.c
@@ -159,17 +159,15 @@ unsigned int ncs_leap_startup(void)
        }
 
        if (sprr_lib_req(&lib_create) != NCSCC_RC_SUCCESS) {
-               TRACE_4("\nERROR: SPRR lib_req failed \n");
-               osaf_mutex_unlock_ordie(&s_agent_startup_mutex);
-               return NCSCC_RC_FAILURE;
+               TRACE_4("\nERROR: SPRR lib_req NCS_LIB_REQ_CREATE failed \n");
+               goto lib_req_fail;
        }
 
        /* Get & Update system specific arguments */
        if (mainget_node_id(&gl_ncs_main_pub_cb.my_nodeid) !=
            NCSCC_RC_SUCCESS) {
                TRACE_4("Not able to get the NODE ID\n");
-               osaf_mutex_unlock_ordie(&s_agent_startup_mutex);
-               return NCSCC_RC_FAILURE;
+               goto get_node_fail;
        }
        TRACE("NCS:NODE_ID=0x%08X\n", gl_ncs_main_pub_cb.my_nodeid);
        gl_ncs_main_pub_cb.leap_use_count = 1;
@@ -180,6 +178,20 @@ unsigned int ncs_leap_startup(void)
        gl_ncs_main_pub_cb.lib_hdl = dlopen(NULL, RTLD_LAZY | RTLD_GLOBAL);
 
        return NCSCC_RC_SUCCESS;
+
+get_node_fail: ; //This is an empty statement to prevent compile error.
+       NCS_LIB_REQ_INFO lib_destroy;
+
+       memset(&lib_destroy, 0, sizeof(lib_destroy));
+       lib_destroy.i_op = NCS_LIB_REQ_DESTROY;
+       lib_destroy.info.destroy.dummy = 0;
+       if (sprr_lib_req(&lib_destroy) != NCSCC_RC_SUCCESS)
+               TRACE_4("\nERROR: SPRR lib_req NCS_LIB_REQ_DESTROY failed\n");
+
+lib_req_fail:
+       leap_env_destroy();
+       osaf_mutex_unlock_ordie(&s_agent_startup_mutex);
+       return NCSCC_RC_FAILURE;
 }
 
 /***************************************************************************\
-- 
2.25.1



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

Reply via email to