[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