diff --git a/src/runtime/PythonEngine.cs b/src/runtime/PythonEngine.cs index f184ebe88..6e9c4d1f1 100644 --- a/src/runtime/PythonEngine.cs +++ b/src/runtime/PythonEngine.cs @@ -355,12 +355,17 @@ public static void Shutdown() { return; } - if (Exceptions.ErrorOccurred()) + + using (Py.GIL()) { - throw new InvalidOperationException( - "Python error indicator is set", - innerException: PythonException.PeekCurrentOrNull(out _)); + if (Exceptions.ErrorOccurred()) + { + throw new InvalidOperationException( + "Python error indicator is set", + innerException: PythonException.PeekCurrentOrNull(out _)); + } } + // If the shutdown handlers trigger a domain unload, // don't call shutdown again. AppDomain.CurrentDomain.DomainUnload -= OnDomainUnload;