samples/immsv/immutils/immutil.c |  28 ++++++++++++++++++++++++++++
 samples/immsv/immutils/immutil.h |  10 ++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)


Add wrapper functions for saImmOmCcbValidate and saImmOmCcbAbort.

diff --git a/samples/immsv/immutils/immutil.c b/samples/immsv/immutils/immutil.c
--- a/samples/immsv/immutils/immutil.c
+++ b/samples/immsv/immutils/immutil.c
@@ -1595,6 +1595,34 @@ SaAisErrorT immutil_saImmOmCcbApply(SaIm
         return rc;
 }
 
+SaAisErrorT immutil_saImmOmCcbAbort(SaImmCcbHandleT immCcbHandle)
+{
+        SaAisErrorT rc = saImmOmCcbAbort(immCcbHandle);
+        unsigned int nTries = 1;
+        while(rc == SA_AIS_ERR_TRY_AGAIN && nTries < 
immutilWrapperProfile.nTries){
+                usleep(immutilWrapperProfile.retryInterval * 1000);
+                rc = saImmOmCcbAbort(immCcbHandle);
+                nTries++;
+        }
+        if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal)
+                immutilError("saImmOmCcbAbort FAILED, rc = %d", (int)rc);
+        return rc;
+}
+
+SaAisErrorT immutil_saImmOmCcbValidate(SaImmCcbHandleT immCcbHandle)
+{
+        SaAisErrorT rc = saImmOmCcbValidate(immCcbHandle);
+        unsigned int nTries = 1;
+        while(rc == SA_AIS_ERR_TRY_AGAIN && nTries < 
immutilWrapperProfile.nTries){
+                usleep(immutilWrapperProfile.retryInterval * 1000);
+                rc = saImmOmCcbValidate(immCcbHandle);
+                nTries++;
+        }
+        if (rc != SA_AIS_OK && immutilWrapperProfile.errorsAreFatal)
+                immutilError("saImmOmCcbValidate FAILED, rc = %d", (int)rc);
+        return rc;
+}
+
 SaAisErrorT immutil_saImmOmAdminOwnerSet(SaImmAdminOwnerHandleT ownerHandle,
                                          const SaNameT** name,
                                          SaImmScopeT scope)
diff --git a/samples/immsv/immutils/immutil.h b/samples/immsv/immutils/immutil.h
--- a/samples/immsv/immutils/immutil.h
+++ b/samples/immsv/immutils/immutil.h
@@ -568,6 +568,16 @@ extern SaAisErrorT immutil_getAttr(const
        extern SaAisErrorT immutil_saImmOmCcbApply(SaImmCcbHandleT  
immCcbHandle);
 
 /**
+ * Wrapper for saImmOmCcbAbort
+ */
+       extern SaAisErrorT immutil_saImmOmCcbAbort(SaImmCcbHandleT  
immCcbHandle);
+
+/**
+ * Wrapper for saImmOmCcbValidate
+ */
+       extern SaAisErrorT immutil_saImmOmCcbValidate(SaImmCcbHandleT  
immCcbHandle);
+
+/**
  * Wrapper for saImmOmAdminOwnerSet/_o2
  */
        extern SaAisErrorT immutil_saImmOmAdminOwnerSet(SaImmAdminOwnerHandleT  
ownerHandle,

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to