1ddda855337362833d86deb10d1fece11b00b45dcNeal Norwitz 2d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitz# Taken from Lib/ctypes/test/test_keeprefs.py, PointerToStructure.test(). 3ddda855337362833d86deb10d1fece11b00b45dcNeal Norwitz 4d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitzfrom ctypes import Structure, c_int, POINTER 5d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitzimport gc 6ddda855337362833d86deb10d1fece11b00b45dcNeal Norwitz 7d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitzdef leak_inner(): 8ddda855337362833d86deb10d1fece11b00b45dcNeal Norwitz class POINT(Structure): 9ddda855337362833d86deb10d1fece11b00b45dcNeal Norwitz _fields_ = [("x", c_int)] 10ddda855337362833d86deb10d1fece11b00b45dcNeal Norwitz class RECT(Structure): 11d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitz _fields_ = [("a", POINTER(POINT))] 12d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitz 13d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitzdef leak(): 14d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitz leak_inner() 15d5f8ec27a8b73fc8bfa6a959bceb66b526936f0aNeal Norwitz gc.collect() 16