Mercurial > cpython-lru_cache-weakref
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 47579:e81deccb17c6 | 47580:94f64f11fdd0 |
|---|---|
| 191 _PyUnicode_Init(); | 191 _PyUnicode_Init(); |
| 192 | 192 |
| 193 bimod = _PyBuiltin_Init(); | 193 bimod = _PyBuiltin_Init(); |
| 194 if (bimod == NULL) | 194 if (bimod == NULL) |
| 195 Py_FatalError("Py_Initialize: can't initialize builtins modules"); | 195 Py_FatalError("Py_Initialize: can't initialize builtins modules"); |
| 196 _PyImport_FixupExtension(bimod, "builtins", "builtins"); | |
| 196 interp->builtins = PyModule_GetDict(bimod); | 197 interp->builtins = PyModule_GetDict(bimod); |
| 197 if (interp->builtins == NULL) | 198 if (interp->builtins == NULL) |
| 198 Py_FatalError("Py_Initialize: can't initialize builtins dict"); | 199 Py_FatalError("Py_Initialize: can't initialize builtins dict"); |
| 199 Py_INCREF(interp->builtins); | 200 Py_INCREF(interp->builtins); |
| 200 | 201 |
| 206 Py_FatalError("Py_Initialize: can't initialize sys"); | 207 Py_FatalError("Py_Initialize: can't initialize sys"); |
| 207 interp->sysdict = PyModule_GetDict(sysmod); | 208 interp->sysdict = PyModule_GetDict(sysmod); |
| 208 if (interp->sysdict == NULL) | 209 if (interp->sysdict == NULL) |
| 209 Py_FatalError("Py_Initialize: can't initialize sys dict"); | 210 Py_FatalError("Py_Initialize: can't initialize sys dict"); |
| 210 Py_INCREF(interp->sysdict); | 211 Py_INCREF(interp->sysdict); |
| 211 _PyImport_FixupExtension("sys", "sys"); | 212 _PyImport_FixupExtension(sysmod, "sys", "sys"); |
| 212 PySys_SetPath(Py_GetPath()); | 213 PySys_SetPath(Py_GetPath()); |
| 213 PyDict_SetItemString(interp->sysdict, "modules", | 214 PyDict_SetItemString(interp->sysdict, "modules", |
| 214 interp->modules); | 215 interp->modules); |
| 215 | 216 |
| 216 /* Set up a preliminary stderr printer until we have enough | 217 /* Set up a preliminary stderr printer until we have enough |
| 220 Py_FatalError("Py_Initialize: can't set preliminary stderr"); | 221 Py_FatalError("Py_Initialize: can't set preliminary stderr"); |
| 221 PySys_SetObject("stderr", pstderr); | 222 PySys_SetObject("stderr", pstderr); |
| 222 PySys_SetObject("__stderr__", pstderr); | 223 PySys_SetObject("__stderr__", pstderr); |
| 223 | 224 |
| 224 _PyImport_Init(); | 225 _PyImport_Init(); |
| 225 | |
| 226 /* phase 2 of builtins */ | |
| 227 _PyImport_FixupExtension("builtins", "builtins"); | |
| 228 | 226 |
| 229 _PyImportHooks_Init(); | 227 _PyImportHooks_Init(); |
| 230 | 228 |
| 231 if (install_sigs) | 229 if (install_sigs) |
| 232 initsigs(); /* Signal handling stuff, including initintr() */ | 230 initsigs(); /* Signal handling stuff, including initintr() */ |
