bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978)
Replace _PyInterpreterState_Get() function call with
_PyInterpreterState_GET_UNSAFE() macro which is more efficient but
don't check if tstate or interp is NULL.
_Py_GetConfigsAsDict() now uses _PyThreadState_GET().
diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c
index c51f97a..3603871 100644
--- a/Python/dynload_shlib.c
+++ b/Python/dynload_shlib.c
@@ -2,7 +2,7 @@
/* Support for dynamic loading of extension modules */
#include "Python.h"
-#include "pycore_pystate.h"
+#include "pycore_pystate.h" // _PyInterpreterState_GET_UNSAFE()
#include "importdl.h"
#include <sys/types.h>
@@ -94,7 +94,7 @@
}
}
- dlopenflags = _PyInterpreterState_Get()->dlopenflags;
+ dlopenflags = _PyInterpreterState_GET_UNSAFE()->dlopenflags;
handle = dlopen(pathname, dlopenflags);