(original) (raw)

changeset: 87937:cea42629ddf5 user: Brett Cannon brett@python.org date: Fri Dec 13 11:43:10 2013 -0500 files: Lib/multiprocessing/spawn.py Misc/NEWS description: Issue #19946: Raise ImportError when the main module cannot be found by multiprocessing.spawn (before it was raising an AttributeError). diff -r 278dd7eb2f2b -r cea42629ddf5 Lib/multiprocessing/spawn.py --- a/Lib/multiprocessing/spawn.py Fri Dec 13 14:33:01 2013 +0100 +++ b/Lib/multiprocessing/spawn.py Fri Dec 13 11:43:10 2013 -0500 @@ -248,6 +248,8 @@ main_module = types.ModuleType(main_name) # XXX Use a target of main_module? spec = importlib.find_spec(main_name, path=dirs) + if spec is None: + raise ImportError(name=main_name) methods = importlib._bootstrap._SpecMethods(spec) methods.init_module_attrs(main_module) main_module.__name__ = '__mp_main__' diff -r 278dd7eb2f2b -r cea42629ddf5 Misc/NEWS --- a/Misc/NEWS Fri Dec 13 14:33:01 2013 +0100 +++ b/Misc/NEWS Fri Dec 13 11:43:10 2013 -0500 @@ -44,6 +44,9 @@ Library ------- +- Issue #19946: multiprocessing.spawn now raises ImportError when the module to + be used as the main module cannot be imported. + - Issue #17919: select.poll.poll() again works with poll.POLLNVAL on AIX. - Issue #19063: if a Charset's body_encoding was set to None, the email /brett@python.org