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

pym/_emerge/__init__.py

index 2a2ded8dd6787b817234c6e9f35b35fb653d3f4e..922a28d2d8c4ecb34a12715de35eafe3179531b7 100644 (file)
@@ -5618,6 +5618,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):
                """
@@ -8623,6 +8625,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: