Ack, code review only.

Thanks,
Praveen

On 14-Jul-17 6:42 PM, Zoran Milinkovic wrote:
CLM handles ERR_BAD_HANDLE for saImmOmSearchInitialize in 
clms_cluster_config_get.
As part of this patch, handling of IMM version is improved in the same function.
---
  src/clm/clmd/clms_imm.c | 18 +++++++++++++++++-
  1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/clm/clmd/clms_imm.c b/src/clm/clmd/clms_imm.c
index 06a7df8..51429ec 100644
--- a/src/clm/clmd/clms_imm.c
+++ b/src/clm/clmd/clms_imm.c
@@ -432,10 +432,12 @@ SaAisErrorT clms_cluster_config_get(void)
        SaNameT dn;
        SaImmAttrValuesT_2 **attributes;
        const char *className = "SaClmCluster";
+       SaVersionT version;
TRACE_ENTER(); - (void)immutil_saImmOmInitialize(&imm_om_hdl, NULL, &immVersion);
+       version = immVersion;
+       (void)immutil_saImmOmInitialize(&imm_om_hdl, NULL, &version);
searchParam.searchOneAttr.attrName = "SaImmAttrClassName";
        searchParam.searchOneAttr.attrValueType = SA_IMM_ATTR_SASTRINGT;
@@ -446,6 +448,20 @@ SaAisErrorT clms_cluster_config_get(void)
            SA_IMM_SEARCH_ONE_ATTR | SA_IMM_SEARCH_GET_ALL_ATTR, &searchParam,
            NULL, &search_hdl);
+ if (rc == SA_AIS_ERR_BAD_HANDLE) {
+               // Repeat one more search on ERR_BAD_HANDLE
+
+               // Close the open OM handle, and initialize a new one
+               (void)immutil_saImmOmFinalize(imm_om_hdl);
+               version = immVersion;
+               (void)immutil_saImmOmInitialize(&imm_om_hdl, NULL, &version);
+
+               rc = immutil_saImmOmSearchInitialize_2(
+                           imm_om_hdl, &osaf_cluster->name, SA_IMM_SUBTREE,
+                           SA_IMM_SEARCH_ONE_ATTR | SA_IMM_SEARCH_GET_ALL_ATTR,
+                           &searchParam, NULL, &search_hdl);
+       }
+
        if (rc != SA_AIS_OK) {
                LOG_ER("No Object of  SaClmCluster Class was found");
                goto done1;


------------------------------------------------------------------------------
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

Reply via email to