Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10769 - main/trunk/pym/_emerge
Date: Tue, 24 Jun 2008 05:53:08
Message-Id: E1KB1ST-0001kl-S3@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-06-24 05:52:48 +0000 (Tue, 24 Jun 2008)
3 New Revision: 10769
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Clear dbapi caches just after deleting the depgraph in action_build().
9 This trims down the heap size by a few megs, for bug #229069.
10
11
12 Modified: main/trunk/pym/_emerge/__init__.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/__init__.py 2008-06-24 01:00:47 UTC (rev 10768)
15 +++ main/trunk/pym/_emerge/__init__.py 2008-06-24 05:52:48 UTC (rev 10769)
16 @@ -20,6 +20,7 @@
17 except KeyboardInterrupt:
18 sys.exit(1)
19
20 +import gc
21 import os, stat
22 import platform
23
24 @@ -8739,6 +8740,8 @@
25 time.sleep(3) # allow the parent to have first fetch
26 mymergelist = mydepgraph.altlist()
27 del mydepgraph
28 + clear_caches(trees)
29 +
30 retval = mergetask.merge(mymergelist, favorites, mtimedb)
31 merge_count = mergetask.curval
32 else:
33 @@ -8780,6 +8783,8 @@
34 pkglist = mydepgraph.altlist()
35 mydepgraph.saveNomergeFavorites()
36 del mydepgraph
37 + clear_caches(trees)
38 +
39 mergetask = MergeTask(settings, trees, myopts)
40 retval = mergetask.merge(pkglist, favorites, mtimedb)
41 merge_count = mergetask.curval
42 @@ -8903,6 +8908,14 @@
43 settings = trees[myroot]["vartree"].settings
44 settings.validate()
45
46 +def clear_caches(trees):
47 + for d in trees.itervalues():
48 + d["porttree"].dbapi.melt()
49 + d["porttree"].dbapi._aux_cache.clear()
50 + d["bintree"].dbapi._aux_cache.clear()
51 + d["bintree"].dbapi._clear_cache()
52 + gc.collect()
53 +
54 def load_emerge_config(trees=None):
55 kwargs = {}
56 for k, envvar in (("config_root", "PORTAGE_CONFIGROOT"), ("target_root", "ROOT")):
57
58 --
59 gentoo-commits@l.g.o mailing list