diff options
| author | Eric Snow <ericsnowcurrently@gmail.com> | 2015-05-02 19:15:18 -0600 |
|---|---|---|
| committer | Eric Snow <ericsnowcurrently@gmail.com> | 2015-05-02 19:15:18 -0600 |
| commit | 470268ae1d0e919df838db5b652ab9a8608fc2b8 (patch) | |
| tree | 069d8810eae26f3f8f76b4cede04ed595a455917 /Python/pythonrun.c | |
| parent | 1428d15a3e55c1698390ebb31abb41994d0de8f0 (diff) | |
| download | cpython-470268ae1d0e919df838db5b652ab9a8608fc2b8.tar.gz | |
Issue #23911: Move path-based bootstrap code to a separate frozen module.
Diffstat (limited to 'Python/pythonrun.c')
| -rw-r--r-- | Python/pythonrun.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 952316e74c..ebedd123f3 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -304,7 +304,7 @@ set_main_loader(PyObject *d, const char *filename, const char *loader_name) { PyInterpreterState *interp; PyThreadState *tstate; - PyObject *filename_obj, *loader_type, *loader; + PyObject *filename_obj, *bootstrap, *loader_type = NULL, *loader; int result = 0; filename_obj = PyUnicode_DecodeFSDefault(filename); @@ -313,7 +313,12 @@ set_main_loader(PyObject *d, const char *filename, const char *loader_name) /* Get current thread state and interpreter pointer */ tstate = PyThreadState_GET(); interp = tstate->interp; - loader_type = PyObject_GetAttrString(interp->importlib, loader_name); + bootstrap = PyObject_GetAttrString(interp->importlib, + "_bootstrap_external"); + if (bootstrap != NULL) { + loader_type = PyObject_GetAttrString(bootstrap, loader_name); + Py_DECREF(bootstrap); + } if (loader_type == NULL) { Py_DECREF(filename_obj); return -1; |
