提交 493517e7 authored 作者: Frederic Bastien's avatar Frederic Bastien

Following code review, better docstring and take the lock less often

上级 b47debfb
...@@ -1268,8 +1268,11 @@ class ModuleCache(object): ...@@ -1268,8 +1268,11 @@ class ModuleCache(object):
""" """
def clear_old(self, age_thresh_del=None, delete_if_problem=False): def clear_old(self, age_thresh_del=None, delete_if_problem=False):
""" """Delete entries from the filesystem for cache entries that are too old.
Delete entries from the filesystem for cache entries that are too old.
This refreshes the content of the cache. Don't hold the lock
while calling this method, this is useless. It will be taken
if needed.
Parameters Parameters
---------- ----------
...@@ -1380,12 +1383,17 @@ class ModuleCache(object): ...@@ -1380,12 +1383,17 @@ class ModuleCache(object):
to_rename, to_delete) to_rename, to_delete)
def clear_unversioned(self, min_age=None): def clear_unversioned(self, min_age=None):
""" """Delete unversioned dynamic modules.
Delete unversioned dynamic modules.
They are deleted both from the internal dictionaries and from the They are deleted both from the internal dictionaries and from the
filesystem. filesystem.
No need to have the lock when calling this method. It does not
take the lock as unversioned module aren't shared.
This method does not refresh the cache content, it just
accesses the in-memory known module(s).
Parameters Parameters
---------- ----------
min_age min_age
...@@ -1471,13 +1479,11 @@ class ModuleCache(object): ...@@ -1471,13 +1479,11 @@ class ModuleCache(object):
if age > min_age: if age > min_age:
to_del.append(os.path.join(self.dirname, filename)) to_del.append(os.path.join(self.dirname, filename))
if not to_del: # No need to take the lock as it isn't shared.
return for f in to_del:
with compilelock.lock_ctx(): _rmtree(f,
for f in to_del: msg='old unversioned', level=logging.INFO,
_rmtree(f, ignore_nocleanup=True)
msg='old unversioned', level=logging.INFO,
ignore_nocleanup=True)
def _on_atexit(self): def _on_atexit(self):
# Note: no need to call refresh() since it is called by clear_old(). # Note: no need to call refresh() since it is called by clear_old().
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论