From 12e94ff7de6f5faacf3190e92c428b64fb29d477 Mon Sep 17 00:00:00 2001 From: Ehsan Iran-Nejad Date: Fri, 14 Jan 2022 18:03:03 -0800 Subject: [PATCH] added missing PyThreadState_Swap to Runtime and its Delegates --- src/runtime/Runtime.Delegates.cs | 2 ++ src/runtime/Runtime.cs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/runtime/Runtime.Delegates.cs b/src/runtime/Runtime.Delegates.cs index 6388bde9f..e47c0824f 100644 --- a/src/runtime/Runtime.Delegates.cs +++ b/src/runtime/Runtime.Delegates.cs @@ -23,6 +23,7 @@ static Delegates() Py_EndInterpreter = (delegate* unmanaged[Cdecl])GetFunctionByName(nameof(Py_EndInterpreter), GetUnmanagedDll(_PythonDll)); PyThreadState_New = (delegate* unmanaged[Cdecl])GetFunctionByName(nameof(PyThreadState_New), GetUnmanagedDll(_PythonDll)); PyThreadState_Get = (delegate* unmanaged[Cdecl])GetFunctionByName(nameof(PyThreadState_Get), GetUnmanagedDll(_PythonDll)); + PyThreadState_Swap = (delegate* unmanaged[Cdecl])GetFunctionByName(nameof(PyThreadState_Swap), GetUnmanagedDll(_PythonDll)); _PyThreadState_UncheckedGet = (delegate* unmanaged[Cdecl])GetFunctionByName(nameof(_PyThreadState_UncheckedGet), GetUnmanagedDll(_PythonDll)); try { @@ -313,6 +314,7 @@ static Delegates() internal static delegate* unmanaged[Cdecl] Py_EndInterpreter { get; } internal static delegate* unmanaged[Cdecl] PyThreadState_New { get; } internal static delegate* unmanaged[Cdecl] PyThreadState_Get { get; } + internal static delegate* unmanaged[Cdecl] PyThreadState_Swap { get; } internal static delegate* unmanaged[Cdecl] _PyThreadState_UncheckedGet { get; } internal static delegate* unmanaged[Cdecl] PyGILState_Check { get; } internal static delegate* unmanaged[Cdecl] PyGILState_Ensure { get; } diff --git a/src/runtime/Runtime.cs b/src/runtime/Runtime.cs index 7806c3156..2d1250f3a 100644 --- a/src/runtime/Runtime.cs +++ b/src/runtime/Runtime.cs @@ -748,6 +748,9 @@ internal static T TryUsingDll(Func op) internal static PyThreadState* PyThreadState_Get() => Delegates.PyThreadState_Get(); + + + internal static PyThreadState* PyThreadState_Swap(PyThreadState* threadState) => Delegates.PyThreadState_Swap(threadState); internal static PyThreadState* _PyThreadState_UncheckedGet() => Delegates._PyThreadState_UncheckedGet();