mirror of
https://github.com/python/cpython.git
synced 2026-03-06 21:10:55 +00:00
Fix a ctypes regression of Python 3.8. When a ctypes.Structure is
passed by copy to a function, ctypes internals created a temporary
object which had the side effect of calling the structure finalizer
(__del__) twice. The Python semantics requires a finalizer to be
called exactly once. Fix ctypes internals to no longer call the
finalizer twice.
Create a new internal StructParam_Type which is only used by
_ctypes_callproc() to call PyMem_Free(ptr) on Py_DECREF(argument).
StructUnionType_paramfunc() creates such object.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| darwin | ||
| libffi_osx | ||
| _ctypes.c | ||
| _ctypes_test.c | ||
| _ctypes_test.h | ||
| callbacks.c | ||
| callproc.c | ||
| cfield.c | ||
| ctypes.h | ||
| ctypes_dlfcn.h | ||
| malloc_closure.c | ||
| stgdict.c | ||