Implement PEP 451 (ModuleSpec).
diff --git a/Lib/multiprocessing/spawn.py b/Lib/multiprocessing/spawn.py
index 8167454..364b53f 100644
--- a/Lib/multiprocessing/spawn.py
+++ b/Lib/multiprocessing/spawn.py
@@ -245,14 +245,13 @@
         # We should not try to load __main__
         # since that would execute 'if __name__ == "__main__"'
         # clauses, potentially causing a psuedo fork bomb.
-        loader = importlib.find_loader(main_name, path=dirs)
         main_module = types.ModuleType(main_name)
-        try:
-            loader.init_module_attrs(main_module)
-        except AttributeError:  # init_module_attrs is optional
-            pass
+        # XXX Use a target of main_module?
+        spec = importlib.find_spec(main_name, path=dirs)
+        methods = importlib._bootstrap._SpecMethods(spec)
+        methods.init_module_attrs(main_module)
         main_module.__name__ = '__mp_main__'
-        code = loader.get_code(main_name)
+        code = spec.loader.get_code(main_name)
         exec(code, main_module.__dict__)
 
         old_main_modules.append(sys.modules['__main__'])