[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/libCERTI ObjectClassSet.cc
From: |
CERTI CVS commits |
Subject: |
[certi-cvs] certi/libCERTI ObjectClassSet.cc |
Date: |
Wed, 04 Sep 2013 08:15:35 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 13/09/04 08:15:35
Modified files:
libCERTI : ObjectClassSet.cc
Log message:
Fixes bug #39456 : Recovery after crashed federate that owns multiple
objects.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClassSet.cc?cvsroot=certi&r1=3.57&r2=3.58
Patches:
Index: ObjectClassSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClassSet.cc,v
retrieving revision 3.57
retrieving revision 3.58
diff -u -b -r3.57 -r3.58
--- ObjectClassSet.cc 3 Oct 2011 09:17:35 -0000 3.57
+++ ObjectClassSet.cc 4 Sep 2013 08:15:34 -0000 3.58
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: ObjectClassSet.cc,v 3.57 2011/10/03 09:17:35 erk Exp $
+// $Id: ObjectClassSet.cc,v 3.58 2013/09/04 08:15:34 erk Exp $
// ----------------------------------------------------------------------------
// Project
@@ -253,7 +253,8 @@
handled_iterator i;
for (i = fromHandle.begin(); i != fromHandle.end(); ++i) {
- // Call KillFederate on that class until it returns NULL.
+ // Call KillFederate on every class of the current class set
+ // until it returns NULL.
do {
D.Out(pdExcept, "Kill Federate Handle %d .", theFederate);
ocbList = i->second->killFederate(theFederate);
@@ -261,7 +262,8 @@
D.Out(pdExcept, "Federate Handle %d Killed.", theFederate);
// Broadcast RemoveObject message recursively
- if (ocbList != 0) {
+ // going from current class to its superclass.
+ if (ocbList != NULL) {
currentClass = i->second->getSuperclass();
D.Out(pdExcept, "List not NULL");
while (currentClass != 0) {
@@ -270,11 +272,11 @@
currentClass);
// It may throw ObjectClassNotDefined
- i->second = getObjectFromHandle(currentClass);
+ ObjectClass* currentClassObject =
getObjectFromHandle(currentClass);
- i->second->broadcastClassMessage(ocbList);
+ currentClassObject->broadcastClassMessage(ocbList);
- currentClass = i->second->getSuperclass();
+ currentClass = currentClassObject->getSuperclass();
}
delete ocbList ;
@@ -623,4 +625,4 @@
} // namespace certi
-// $Id: ObjectClassSet.cc,v 3.57 2011/10/03 09:17:35 erk Exp $
+// $Id: ObjectClassSet.cc,v 3.58 2013/09/04 08:15:34 erk Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi/libCERTI ObjectClassSet.cc,
CERTI CVS commits <=