counter_tick_core: flush the cache (periodically)
authorZac Medico <zmedico@gentoo.org>
Fri, 27 May 2011 02:14:20 +0000 (19:14 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 27 May 2011 02:14:20 +0000 (19:14 -0700)
Since we hold a lock, this is a good opportunity to flush the cache.
Note that this will only flush the cache periodically in the main
process when _aux_cache_threshold is exceeded.

pym/portage/dbapi/vartree.py

index 982324c2ce43e36754e73011f25a4a396a7a6f28..e742358dc782ab07aa2321133d8c4f94627c051b 100644 (file)
@@ -837,6 +837,12 @@ class vardbapi(dbapi):
                                        self.settings._init_dirs()
                                        write_atomic(self._counter_path, str(counter))
                        self._cached_counter = counter
+
+                       # Since we hold a lock, this is a good opportunity
+                       # to flush the cache. Note that this will only
+                       # flush the cache periodically in the main process
+                       # when _aux_cache_threshold is exceeded.
+                       self.flush_cache()
                finally:
                        self.unlock()