diff options
Diffstat (limited to 'django/utils/module_loading.py')
| -rw-r--r-- | django/utils/module_loading.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/django/utils/module_loading.py b/django/utils/module_loading.py index 8868a2d3ab..0c6bad2a7b 100644 --- a/django/utils/module_loading.py +++ b/django/utils/module_loading.py @@ -1,5 +1,6 @@ from __future__ import absolute_import # Avoid importing `importlib` from this package. +from contextlib import contextmanager import copy import imp from importlib import import_module @@ -35,6 +36,18 @@ def import_by_path(dotted_path, error_prefix=''): return attr +@contextmanager +def import_lock(): + """ + Context manager that aquires the import lock. + """ + imp.acquire_lock() + try: + yield + finally: + imp.release_lock() + + def autodiscover_modules(*args, **kwargs): """ Auto-discover INSTALLED_APPS modules and fail silently when |
