| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d6ef48e commit 7ff467a
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -80,16 +80,17 @@ public unsafe static void tp_dealloc(NewReference lastRef) | |||
| 80 | 80 | ||
| 81 | 81 | tp_clear(lastRef.Borrow()); | |
| 82 | 82 | ||
| 83 | - bool deleted = loadedExtensions.Remove(lastRef.DangerousGetAddress()); | ||
| 84 | - Debug.Assert(deleted); | ||
| 85 | - | ||
| 86 | 83 | // we must decref our type: https://docs.python.org/3/c-api/typeobj.html#c.PyTypeObject.tp_dealloc | |
| 87 | 84 | DecrefTypeAndFree(lastRef.Steal()); | |
| 88 | 85 | } | |
| 89 | 86 | ||
| 90 | 87 | public static int tp_clear(BorrowedReference ob) | |
| 91 | 88 | { | |
| 92 | - TryFreeGCHandle(ob); | ||
| 89 | + if (TryFreeGCHandle(ob)) | ||
| 90 | + { | ||
| 91 | + bool deleted = loadedExtensions.Remove(ob.DangerousGetAddress()); | ||
| 92 | + Debug.Assert(deleted); | ||
| 93 | + } | ||
| 93 | 94 | ||
| 94 | 95 | int res = ClassBase.BaseUnmanagedClear(ob); | |
| 95 | 96 | return res; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -339,6 +339,7 @@ static bool TryCollectingGarbage(int runs, bool forceBreakLoops) | |||
| 339 | 339 | else if (forceBreakLoops) | |
| 340 | 340 | { | |
| 341 | 341 | NullGCHandles(CLRObject.reflectedObjects); | |
| 342 | + CLRObject.reflectedObjects.Clear(); | ||
| 342 | 343 | } | |
| 343 | 344 | } | |
| 344 | 345 | return false; | |
| Back | FazBrowse Home | New Git URL |
0 commit comments