[cig-commits] commit:
Mercurial
hg at geodynamics.org
Mon Nov 24 11:58:46 PST 2008
changeset: 81:75783b454d4d
user: JulianGiordani
date: Tue May 13 00:40:09 2008 +0000
files: Swarm/src/SwarmClass.c Swarm/src/Swarm_Register.c Swarm/src/Swarm_Register.h
description:
Now when a swarm is deleted it erases it's entry from the Swarm_Register.
Previously tmp swarm where added to the Swarm_Reg and never deleted once they were through, causing checkPointing to try checkpoint a non existent swarm.
diff -r 819e158b3b34 -r 75783b454d4d Swarm/src/SwarmClass.c
--- a/Swarm/src/SwarmClass.c Wed Apr 30 03:43:02 2008 +0000
+++ b/Swarm/src/SwarmClass.c Tue May 13 00:40:09 2008 +0000
@@ -329,6 +329,8 @@ void _Swarm_Delete( void* swarm ) {
}
NewClass_Delete( self->incArray );
+
+ Swarm_Register_RemoveIndex( Swarm_Register_GetSwarm_Register(), self->swarmReg_I );
/* Stg_Class_Delete parent class */
_Stg_Component_Delete( self );
diff -r 819e158b3b34 -r 75783b454d4d Swarm/src/Swarm_Register.c
--- a/Swarm/src/Swarm_Register.c Wed Apr 30 03:43:02 2008 +0000
+++ b/Swarm/src/Swarm_Register.c Tue May 13 00:40:09 2008 +0000
@@ -149,6 +149,16 @@ Index Swarm_Register_Add( Swarm_Register
{
assert( self );
return Stg_ObjectList_Append( self->swarmList, swarm );
+}
+
+void Swarm_Register_RemoveIndex( Swarm_Register* self, unsigned int index )
+{
+ assert( self );
+ /* The third argument controls if the Delete phase is run or not in this function
+ * KEEP = Don't run delete
+ * DELETE = Run delete
+ */
+ _Stg_ObjectList_RemoveByIndex( self, index, KEEP );
}
Swarm* Swarm_Register_Get( Swarm_Register* self, Name name )
diff -r 819e158b3b34 -r 75783b454d4d Swarm/src/Swarm_Register.h
--- a/Swarm/src/Swarm_Register.h Wed Apr 30 03:43:02 2008 +0000
+++ b/Swarm/src/Swarm_Register.h Tue May 13 00:40:09 2008 +0000
@@ -83,6 +83,7 @@
*/
Index Swarm_Register_Add( Swarm_Register* self, void* swarm );
+ void Swarm_Register_RemoveIndex( Swarm_Register* self, unsigned int index );
Swarm* Swarm_Register_Get( Swarm_Register* self, Name name );
Swarm* Swarm_Register_At( void* swarmRegister, Index index ) ;
More information about the CIG-COMMITS
mailing list