8000 remove finalizer assert for raw pointer value; skip collection assert… · pythonnet/pythonnet@6383a28 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6383a28

Browse files
committed
remove finalizer assert for raw pointer value; skip collection assert on shutdown when loaded from Python
1 parent 8611dde commit 6383a28

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/runtime/pyobject.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,6 @@ internal PyObject(in StolenReference reference)
9696
// when the managed wrapper is garbage-collected.
9797
~PyObject()
9898
{
99-
Debug.Assert(obj != IntPtr.Zero || this.GetType() != typeof(PyObject));
100-
10199
if (obj != IntPtr.Zero)
102100
{
103101

src/runtime/runtime.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,14 +379,18 @@ internal static void Shutdown(ShutdownMode mode)
379379
DisposeLazyModule(inspect);
380380
PyObjectConversions.Reset();
381381

382-
bool everythingSeemsCollected = TryCollectingGarbage();
383-
Debug.Assert(everythingSeemsCollected);
382+
if (mode != ShutdownMode.Extension)
383+
{
384+
PyGC_Collect();
385+
bool everythingSeemsCollected = TryCollectingGarbage();
386+
Debug.Assert(everythingSeemsCollected);
387+
}
388+
384389
Finalizer.Shutdown();
385390
InternString.Shutdown();
386391

387392
if (mode != ShutdownMode.Normal && mode != ShutdownMode.Extension)
388393
{
389-
PyGC_Collect();
390394
if (mode == ShutdownMode.Soft)
391395
{
392396
RuntimeState.Restore();

0 commit comments

Comments
 (0)
0