8000 Fix reference cycle · python/cpython@caa33e9 · GitHub
[go: up one dir, main page]

Skip to content

Commit caa33e9

Browse files
Eclips4vstinner
andcommitted
Fix reference cycle
Co-authored-by: Victor Stinner <vstinner@python.org>
1 parent f0b3aa8 commit caa33e9

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

Lib/test/test_capi/test_watchers.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -626,13 +626,17 @@ def _in_outer():
626626
ctx_inner.run(lambda: unraisables.append(cm.unraisable))
627627
unraisables.append(cm.unraisable)
628628

629-
ctx_outer.run(_in_outer)
630-
self.assertEqual([x.err_msg for x in unraisables],
631-
["Exception ignored in Py_CONTEXT_SWITCHED "
632-
f"watcher callback for {ctx!r}"
633-
for ctx in [ctx_inner, ctx_outer]])
634-
self.assertEqual([str(x.exc_value) for x in unraisables],
635-
["boom!", "boom!"])
629+
try:
630+
ctx_outer.run(_in_outer)
631+
self.assertEqual([x.err_msg for x in unraisables],
632+
["Exception ignored in Py_CONTEXT_SWITCHED "
633+
f"watcher callback for {ctx!r}"
634+
for ctx in [ctx_inner, ctx_outer]])
635+
self.assertEqual([str(x.exc_value) for x in unraisables],
636+
["boom!", "boom!"])
637+
finally:
638+
# Break reference cycle
639+
unraisables = None
636640

637641
def test_clear_out_of_range_watcher_id(self):
638642
with self.assertRaisesRegex(ValueError, r"Invalid context watcher ID -1"):

0 commit comments

Comments
 (0)
0