@@ -702,42 +702,51 @@ pycore_init_import_warnings(PyThreadState *tstate, PyObject *sysmod)
702702
703703
704704static PyStatus
705- pyinit_config (_PyRuntimeState * runtime ,
706- PyThreadState * * tstate_p ,
707- const PyConfig * config )
705+ pycore_interp_init (PyThreadState * tstate )
708706{
709- _PyConfig_Write ( config , runtime ) ;
707+ PyStatus status ;
710708
711- PyStatus status = pycore_init_runtime ( runtime , config );
709+ status = pycore_init_types ( tstate );
712710 if (_PyStatus_EXCEPTION (status )) {
713711 return status ;
714712 }
715713
716- PyThreadState * tstate ;
717- status = pycore_create_interpreter ( runtime , config , & tstate );
714+ PyObject * sysmod ;
715+ status = _PySys_Create ( tstate , & sysmod );
718716 if (_PyStatus_EXCEPTION (status )) {
719717 return status ;
720718 }
721- config = & tstate -> interp -> config ;
722- * tstate_p = tstate ;
723719
724- status = pycore_init_types (tstate );
720+ status = pycore_init_builtins (tstate );
725721 if (_PyStatus_EXCEPTION (status )) {
726722 return status ;
727723 }
728724
729- PyObject * sysmod ;
730- status = _PySys_Create (tstate , & sysmod );
725+ return pycore_init_import_warnings (tstate , sysmod );
726+ }
727+
728+
729+ static PyStatus
730+ pyinit_config (_PyRuntimeState * runtime ,
731+ PyThreadState * * tstate_p ,
732+ const PyConfig * config )
733+ {
734+ _PyConfig_Write (config , runtime );
735+
736+ PyStatus status = pycore_init_runtime (runtime , config );
731737 if (_PyStatus_EXCEPTION (status )) {
732738 return status ;
733739 }
734740
735- status = pycore_init_builtins (tstate );
741+ PyThreadState * tstate ;
742+ status = pycore_create_interpreter (runtime , config , & tstate );
736743 if (_PyStatus_EXCEPTION (status )) {
737744 return status ;
738745 }
746+ config = & tstate -> interp -> config ;
747+ * tstate_p = tstate ;
739748
740- status = pycore_init_import_warnings (tstate , sysmod );
749+ status = pycore_interp_init (tstate );
741750 if (_PyStatus_EXCEPTION (status )) {
742751 return status ;
743752 }
@@ -1549,25 +1558,8 @@ new_interpreter(PyThreadState **tstate_p)
15491558 if (_PyStatus_EXCEPTION (status )) {
15501559 goto error ;
15511560 }
1552- config = & interp -> config ;
1553-
1554- status = pycore_init_types (tstate );
1555- if (_PyStatus_EXCEPTION (status )) {
1556- goto error ;
1557- }
1558-
1559- PyObject * sysmod ;
1560- status = _PySys_Create (tstate , & sysmod );
1561- if (_PyStatus_EXCEPTION (status )) {
1562- return status ;
1563- }
1564-
1565- status = pycore_init_builtins (tstate );
1566- if (_PyStatus_EXCEPTION (status )) {
1567- goto error ;
1568- }
15691561
1570- status = pycore_init_import_warnings (tstate , sysmod );
1562+ status = pycore_interp_init (tstate );
15711563 if (_PyStatus_EXCEPTION (status )) {
15721564 goto error ;
15731565 }
0 commit comments