[commit] r1192 - trunk/GME/Mga

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Thu Feb 17 12:05:48 CST 2011


Author: ksmyth
Date: Thu Feb 17 12:05:48 2011
New Revision: 1192

Log:
Remove recursive unlocking: its a performance killer, is seemingly unused, and doesnt make sense

Modified:
   trunk/GME/Mga/MgaFCO.cpp

Modified: trunk/GME/Mga/MgaFCO.cpp
==============================================================================
--- trunk/GME/Mga/MgaFCO.cpp	Thu Feb 17 12:00:09 2011	(r1191)
+++ trunk/GME/Mga/MgaFCO.cpp	Thu Feb 17 12:05:48 2011	(r1192)
@@ -1172,39 +1172,11 @@
 	} COMCATCH(;);
 };
 
-
-// results in a single object with all local subobjects removed
-void SingleObjTreeUnLock(CoreObj &self) {
-	CComPtr<ICoreAttributes> atts;
-	COMTHROW(self->get_Attributes(&atts));
-	MGACOLL_ITERATE(ICoreAttribute, atts) {
-			attrid_type ai;
-			CComPtr<ICoreMetaAttribute> mattr;
-			COMTHROW(MGACOLL_ITER->get_MetaAttribute(&mattr));
-			COMTHROW(mattr->get_AttrID(&ai));
-			if(ai >= ATTRID_COLLECTION) {
-				ai -= ATTRID_COLLECTION;
-				if(LINKREF_ATTR(ai) && ai != ATTRID_PARENT) {
-					CoreObjs collmembers = self[ai + ATTRID_COLLECTION].CachedColl();
-					ITERATE_THROUGH(collmembers) {
-						SingleObjTreeUnLock(ITER);
-					}
-				}
-			}
-	} MGACOLL_ITERATE_END;
-	self[ATTRID_LOCK] = LOCKING_NONE;
-}
-
-
 HRESULT FCO::Close () {
 	COMTRY {
-		SingleObjTreeUnLock(self);
-	} COMCATCH(;) 
+		self[ATTRID_LOCK] = LOCKING_NONE;
	} COMCATCH(;) 
 }
 
-
-
-
 FCOPtr::FCOPtr(FCOPtr const &o) {
 	p = o.p;
 	p->AddRef();


More information about the gme-commit mailing list