Free some memory by clearing the LinkageMap cache when it's not needed.
authorZac Medico <zmedico@gentoo.org>
Tue, 4 Nov 2008 07:55:01 +0000 (07:55 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 4 Nov 2008 07:55:01 +0000 (07:55 -0000)
svn path=/main/trunk/; revision=11807

pym/_emerge/__init__.py
pym/portage/__init__.py
pym/portage/dbapi/vartree.py

index f65fda5dc1e6f2f7075a9120d8dc6b688b38faf1..773c01d34c7c599a9910fe4f2816b299570e8530 100644 (file)
@@ -13464,6 +13464,7 @@ def clear_caches(trees):
                d["porttree"].dbapi._aux_cache.clear()
                d["bintree"].dbapi._aux_cache.clear()
                d["bintree"].dbapi._clear_cache()
+               d["vartree"].dbapi.linkmap._clear_cache()
        portage.dircache.clear()
        gc.collect()
 
index b269ea9e90ce46abc4d8c1709073412a72a2b041..002bb4d6ec31c33c5d5527fd57dd1266a7183961 100644 (file)
@@ -6091,6 +6091,7 @@ def unmerge(cat, pkg, myroot, mysettings, mytrimworld=1, vartree=None,
                        return retval
                return os.EX_OK
        finally:
+               self.vartree.dbapi.linkmap._clear_cache()
                mylink.unlockdb()
 
 def getCPFromCPV(mycpv):
index f88431ee0463d362cc1adea0aa29b39343b1e334..418d873885f4d7d12c68cc18e349cb62018baa67 100644 (file)
@@ -3767,6 +3767,7 @@ class dblink(object):
                                        self._scheduler.dblinkEbuildPhase(
                                                self, mydbapi, myebuild, "clean")
                finally:
+                       self.vartree.dbapi.linkmap._clear_cache()
                        self.unlockdb()
                return retval