diff Python/pythonrun.c @ 47580:94f64f11fdd0

Implement PEP 3121: new module initialization and finalization API.
author Martin v. Löwis <martin@v.loewis.de>
date Wed, 11 Jun 2008 05:26:20 +0000
parents 2284fa89ab08
children e2eb70235392
line wrap: on
line diff
--- a/Python/pythonrun.c	Wed Jun 11 03:41:00 2008 +0000
+++ b/Python/pythonrun.c	Wed Jun 11 05:26:20 2008 +0000
@@ -193,6 +193,7 @@
 	bimod = _PyBuiltin_Init();
 	if (bimod == NULL)
 		Py_FatalError("Py_Initialize: can't initialize builtins modules");
+	_PyImport_FixupExtension(bimod, "builtins", "builtins");
 	interp->builtins = PyModule_GetDict(bimod);
 	if (interp->builtins == NULL)
 		Py_FatalError("Py_Initialize: can't initialize builtins dict");
@@ -208,7 +209,7 @@
 	if (interp->sysdict == NULL)
 		Py_FatalError("Py_Initialize: can't initialize sys dict");
 	Py_INCREF(interp->sysdict);
-	_PyImport_FixupExtension("sys", "sys");
+	_PyImport_FixupExtension(sysmod, "sys", "sys");
 	PySys_SetPath(Py_GetPath());
 	PyDict_SetItemString(interp->sysdict, "modules",
 			     interp->modules);
@@ -223,9 +224,6 @@
 
 	_PyImport_Init();
 
-	/* phase 2 of builtins */
-	_PyImport_FixupExtension("builtins", "builtins");
-
 	_PyImportHooks_Init();
 
 	if (install_sigs)