---
src/smf/smfd/SmfCampaignWrapup.cc | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/smf/smfd/SmfCampaignWrapup.cc
b/src/smf/smfd/SmfCampaignWrapup.cc
index 4389ff0..9ea41c3 100644
--- a/src/smf/smfd/SmfCampaignWrapup.cc
+++ b/src/smf/smfd/SmfCampaignWrapup.cc
@@ -29,6 +29,9 @@
#include "smf/smfd/SmfRollback.h"
#include "smf/smfd/SmfUpgradeAction.h"
#include "smf/smfd/SmfUtils.h"
+#include "base/osaf_time.h"
+#include "base/time.h"
+
/* ========================================================================
* DEFINITIONS
@@ -224,6 +227,21 @@ bool SmfCampaignWrapup::executeCampComplete() {
LOG_ER(
"SmfCampaignWrapup failed to create campaign complete rollback element
%s, rc=%s",
completeRollbackDn.c_str(), saf_error(result));
+
+ int ret = SA_AIS_OK;
+ base::Timer doImmOpTimer(60000);
+ while (doImmOpTimer.is_timeout() == false) {
+ TRACE("%s: SmfCampaignWrapup - executeCampComplete time left = %"
PRIu64,
+ __FUNCTION__, doImmOpTimer.time_left());
+ ret = smfCreateRollbackElement(completeRollbackDn,
+ SmfCampaignThread::instance()->getImmHandle());
+ if (ret == SA_AIS_ERR_TRY_AGAIN) {
+ base::Sleep(base::kFiveHundredMilliseconds);
+ continue;
+ }else{
+ break;
+ }
+ }
return false;
}
--
1.9.1
------------------------------------------------------------------------------
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