osaf/services/saf/amf/amfd/include/si.h |   2 ++
 osaf/services/saf/amf/amfd/si.cc        |  10 ++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/include/si.h 
b/osaf/services/saf/amf/amfd/include/si.h
--- a/osaf/services/saf/amf/amfd/include/si.h
+++ b/osaf/services/saf/amf/amfd/include/si.h
@@ -134,6 +134,8 @@ public:
        void delete_assignments(AVD_CL_CB *cb);
        void delete_csis();
        void si_add_to_model();
+       
+       void arrange_dep_csi(struct avd_csi_tag* csi);
 
 private:
        AVD_SI(const AVD_SI&);
diff --git a/osaf/services/saf/amf/amfd/si.cc b/osaf/services/saf/amf/amfd/si.cc
--- a/osaf/services/saf/amf/amfd/si.cc
+++ b/osaf/services/saf/amf/amfd/si.cc
@@ -70,15 +70,17 @@ static void osafassert_if_loops_in_cside
        TRACE_LEAVE();
 }
 
-static void avd_si_arrange_dep_csi(struct avd_csi_tag* csi)
+void AVD_SI::arrange_dep_csi(struct avd_csi_tag* csi)
 {
        AVD_CSI *temp_csi = NULL;
        AVD_SI *temp_si = NULL;
 
        TRACE_ENTER2("%s", csi->name.value);
+       
+       osafassert(csi->si == this);
 
        /* Check whether any of the CSI's in the existing CSI list is dependant 
on the newly added CSI */
-       for (temp_csi = csi->si->list_of_csi; temp_csi; temp_csi = 
temp_csi->si_list_of_csi_next) {
+       for (temp_csi = list_of_csi; temp_csi; temp_csi = 
temp_csi->si_list_of_csi_next) {
                AVD_CSI_DEPS *csi_dep_ptr;
 
                /* Go through the all the dependencies of exising CSI */
@@ -105,7 +107,7 @@ static void avd_si_arrange_dep_csi(struc
                                         * This recursive logic is required to 
update the ranks of the
                                         * CSIs which are dependant on the 
temp_csi
                                         */
-                                       avd_si_arrange_dep_csi(temp_csi);
+                                       temp_si->arrange_dep_csi(temp_csi);
                                }
                        }
                }
@@ -154,7 +156,7 @@ void AVD_SI::add_csi(struct avd_csi_tag*
         }
 
         /* We need to check whether any other previously added CSI(with rank = 
0) was dependent on this CSI. */
-        avd_si_arrange_dep_csi(avd_csi);
+        arrange_dep_csi(avd_csi);
 add_csi:
         avd_si_add_csi_db(avd_csi);
 

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to