提交 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,9 +1479,7 @@ class ModuleCache(object): ...@@ -1471,9 +1479,7 @@ 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
with compilelock.lock_ctx():
for f in to_del: for f in to_del:
_rmtree(f, _rmtree(f,
msg='old unversioned', level=logging.INFO, msg='old unversioned', level=logging.INFO,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论