src/smf/smfd/SmfExecControlHdl.cc | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/smf/smfd/SmfExecControlHdl.cc
b/src/smf/smfd/SmfExecControlHdl.cc
--- a/src/smf/smfd/SmfExecControlHdl.cc
+++ b/src/smf/smfd/SmfExecControlHdl.cc
@@ -188,12 +188,24 @@ bool SmfExecControlObjHandler::smfProtec
bool SmfExecControlObjHandler::getValuesFromImmCopy() {
bool errinfo = true;
- TRACE_ENTER();
- if (readExecControlObject(c_openSafSmfExecControl_copy) == false) {
- LOG_NO("%s readExecControlObject(c_openSafSmfExecControl_copy) Fail",
- __FUNCTION__);
+ std::string copydn = c_openSafSmfExecControl_copy;
+ SaImmAttrValuesT_2 **attributes;
+ if (!p_immutil_object->getObject(copydn, &attributes)) {
+ // We do not have a copy so create it. This can happen when upgrading from
+ // an earlier version of SMF. SMF will only read the copy when it has been
+ // restarted.
+ LOG_NO("No copy existing for execControl, read execControl and create it");
+ if (!install()) {
errinfo = false;
}
+ }
+
+ TRACE_ENTER();
+ if (readExecControlObject(c_openSafSmfExecControl_copy) == false) {
+ LOG_NO("%s readExecControlObject(c_openSafSmfExecControl_copy) Fail",
+ __FUNCTION__);
+ errinfo = false;
+ }
TRACE_LEAVE();
return errinfo;
------------------------------------------------------------------------------
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