summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-04 07:55:01 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-04 07:55:01 +0000
commit3d91f19f8afb8e2fa59518abd709ff677148f00c (patch)
treed73512522144c55af7e2a6cffbd6dd4569734155 /pym
parent6dc2a3ef1ffac9eab3728d37a3f6e133ac34ab27 (diff)
downloadportage-3d91f19f8afb8e2fa59518abd709ff677148f00c.tar.gz
portage-3d91f19f8afb8e2fa59518abd709ff677148f00c.tar.bz2
portage-3d91f19f8afb8e2fa59518abd709ff677148f00c.zip
Free some memory by clearing the LinkageMap cache when it's not needed.
svn path=/main/trunk/; revision=11807
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/__init__.py1
-rw-r--r--pym/portage/__init__.py1
-rw-r--r--pym/portage/dbapi/vartree.py1
3 files changed, 3 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index f65fda5dc..773c01d34 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -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()
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index b269ea9e9..002bb4d6e 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -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):
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index f88431ee0..418d87388 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -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