summaryrefslogtreecommitdiffstats
path: root/Lib/ctypes
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2011-09-12 19:09:12 (GMT)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2011-09-12 19:09:12 (GMT)
commit65604b51e0da56e244a2266482687959d310b08d (patch)
tree42151d2da7b1baeb4357e963759ca7d62664ed25 /Lib/ctypes
parentaa2b442bdccf68c191a0023084b1160804fb5e4c (diff)
parentbbe46d63ee9b624c011b4fe50978e2e7fa7cf82e (diff)
downloadcpython-65604b51e0da56e244a2266482687959d310b08d.zip
cpython-65604b51e0da56e244a2266482687959d310b08d.tar.gz
cpython-65604b51e0da56e244a2266482687959d310b08d.tar.bz2
Merge 3.2: Issue #12483: ctypes: Fix a crash when the destruction of a callback
object triggers the garbage collector.
Diffstat (limited to 'Lib/ctypes')
-rw-r--r--Lib/ctypes/test/test_callbacks.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/ctypes/test/test_callbacks.py b/Lib/ctypes/test/test_callbacks.py
index 8801ccd..c7207ea 100644
--- a/Lib/ctypes/test/test_callbacks.py
+++ b/Lib/ctypes/test/test_callbacks.py
@@ -134,6 +134,14 @@ class Callbacks(unittest.TestCase):
if isinstance(x, X)]
self.assertEqual(len(live), 0)
+ def test_issue12483(self):
+ import gc
+ class Nasty:
+ def __del__(self):
+ gc.collect()
+ CFUNCTYPE(None)(lambda x=Nasty(): None)
+
+
try:
WINFUNCTYPE
except NameError: