Invalidate some more caches inside depgraph._set_args().
authorZac Medico <zmedico@gentoo.org>
Mon, 12 Jan 2009 09:51:10 +0000 (09:51 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 12 Jan 2009 09:51:10 +0000 (09:51 -0000)
svn path=/main/trunk/; revision=12484

pym/_emerge/__init__.py

index e1f1f35e368fd0456e35322103e2f3a7dc6cd1cc..dc1d932a2464fb95e2415f38d82089c367b32370 100644 (file)
@@ -5634,6 +5634,8 @@ class depgraph(object):
                # Invalidate the package selection cache, since
                # arguments influence package selections.
                self._highest_pkg_cache.clear()
+               for trees in self._filtered_trees.itervalues():
+                       trees["porttree"].dbapi._clear_cache()
 
        def _greedy_slots(self, root_config, atom, blocker_lookahead=False):
                """
@@ -8639,6 +8641,10 @@ class depgraph(object):
                        self._match_cache = {}
                        self._cpv_pkg_map = {}
 
+               def _clear_cache(self):
+                       self._match_cache.clear()
+                       self._cpv_pkg_map.clear()
+
                def match(self, atom):
                        ret = self._match_cache.get(atom)
                        if ret is not None: