summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-06-04 20:41:35 +0000
committerZac Medico <zmedico@gentoo.org>2008-06-04 20:41:35 +0000
commit5de053520ef2a24b5ce0ff092685c1346fc83ce3 (patch)
tree95339ba48ef731650fb0927abde2161277c92ede /bin/emerge
parent3dc590d344e9155298d92095bafa173e3c40c5c2 (diff)
downloadportage-5de053520ef2a24b5ce0ff092685c1346fc83ce3.tar.gz
portage-5de053520ef2a24b5ce0ff092685c1346fc83ce3.tar.bz2
portage-5de053520ef2a24b5ce0ff092685c1346fc83ce3.zip
Use sets for more accurate cache modification counts in BlockerCache and
vardbapi. (trunk r10578) svn path=/main/branches/2.1.2/; revision=10579
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge10
1 files changed, 5 insertions, 5 deletions
diff --git a/bin/emerge b/bin/emerge
index 12743c9d1..199a7b618 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1605,7 +1605,7 @@ class BlockerCache(DictMixin):
portage.CACHE_PATH.lstrip(os.path.sep), "vdb_blockers.pickle")
self._cache_version = "1"
self._cache_data = None
- self._modified = 0
+ self._modified = set()
self._load()
def _load(self):
@@ -1674,7 +1674,7 @@ class BlockerCache(DictMixin):
self._cache_data = {"version":self._cache_version}
self._cache_data["blockers"] = {}
self._cache_data["virtuals"] = self._virtuals
- self._modified = 0
+ self._modified.clear()
def flush(self):
"""If the current user has permission and the internal blocker cache
@@ -1692,7 +1692,7 @@ class BlockerCache(DictMixin):
"virtuals" : vardb.settings.getvirtuals()
}
"""
- if self._modified >= self._cache_threshold and \
+ if len(self._modified) >= self._cache_threshold and \
secpass >= 2:
try:
f = portage_util.atomic_ofstream(self._cache_filename)
@@ -1702,7 +1702,7 @@ class BlockerCache(DictMixin):
self._cache_filename, gid=portage.portage_gid, mode=0644)
except (IOError, OSError), e:
pass
- self._modified = 0
+ self._modified.clear()
def __setitem__(self, cpv, blocker_data):
"""
@@ -1716,7 +1716,7 @@ class BlockerCache(DictMixin):
"""
self._cache_data["blockers"][cpv] = \
(blocker_data.counter, tuple(str(x) for x in blocker_data.atoms))
- self._modified += 1
+ self._modified.add(cpv)
def __iter__(self):
return iter(self._cache_data["blockers"])