Well when one spoke file imports another while we are doing the directory traversal we
could try loading the module again directly without this code (and it happened to me in
the new firstboot code as I import quite lot of stuff from anaconda).
----- Original Message -----
> diff --git a/pyanaconda/ui/common.py b/pyanaconda/ui/common.py
> index b1a8dd3..9c3ef8d 100644
> --- a/pyanaconda/ui/common.py
> +++ b/pyanaconda/ui/common.py
> @@ -24,6 +24,7 @@ import os
> import imp
> import inspect
> import copy
> +import sys
>
> class PathDict(dict):
> """Dictionary class supporting + operator"""
> @@ -453,10 +454,13 @@ def collect(module_pattern, path, pred):
>
> mod_info = None
> module = None
> +
> try:
> imp.acquire_lock()
> mod_info = imp.find_module(mod_name, [path])
> - module = imp.load_module(module_pattern % mod_name,
> *mod_info)
> + module = sys.modules.get(module_pattern % mod_name)
> + if not module:
> + module = imp.load_module(module_pattern %
> mod_name, *mod_info)
> imp.release_lock()
> except ImportError:
> continue
ACK, but I'm curious under what circumstances you are seeing this,
and
if that's bad/dumb behavior that should also be changed.
- Chris
_______________________________________________
anaconda-patches mailing list
anaconda-patches(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches