* [gentoo-commits] portage r10769 - main/trunk/pym/_emerge
@ 2008-06-24 5:52 Zac Medico (zmedico)
0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-06-24 5:52 UTC (permalink / raw
To: gentoo-commits
Author: zmedico
Date: 2008-06-24 05:52:48 +0000 (Tue, 24 Jun 2008)
New Revision: 10769
Modified:
main/trunk/pym/_emerge/__init__.py
Log:
Clear dbapi caches just after deleting the depgraph in action_build().
This trims down the heap size by a few megs, for bug #229069.
Modified: main/trunk/pym/_emerge/__init__.py
===================================================================
--- main/trunk/pym/_emerge/__init__.py 2008-06-24 01:00:47 UTC (rev 10768)
+++ main/trunk/pym/_emerge/__init__.py 2008-06-24 05:52:48 UTC (rev 10769)
@@ -20,6 +20,7 @@
except KeyboardInterrupt:
sys.exit(1)
+import gc
import os, stat
import platform
@@ -8739,6 +8740,8 @@
time.sleep(3) # allow the parent to have first fetch
mymergelist = mydepgraph.altlist()
del mydepgraph
+ clear_caches(trees)
+
retval = mergetask.merge(mymergelist, favorites, mtimedb)
merge_count = mergetask.curval
else:
@@ -8780,6 +8783,8 @@
pkglist = mydepgraph.altlist()
mydepgraph.saveNomergeFavorites()
del mydepgraph
+ clear_caches(trees)
+
mergetask = MergeTask(settings, trees, myopts)
retval = mergetask.merge(pkglist, favorites, mtimedb)
merge_count = mergetask.curval
@@ -8903,6 +8908,14 @@
settings = trees[myroot]["vartree"].settings
settings.validate()
+def clear_caches(trees):
+ for d in trees.itervalues():
+ d["porttree"].dbapi.melt()
+ d["porttree"].dbapi._aux_cache.clear()
+ d["bintree"].dbapi._aux_cache.clear()
+ d["bintree"].dbapi._clear_cache()
+ gc.collect()
+
def load_emerge_config(trees=None):
kwargs = {}
for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT")):
--
gentoo-commits@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-06-24 5:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-24 5:52 [gentoo-commits] portage r10769 - main/trunk/pym/_emerge Zac Medico (zmedico)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox