[Python-checkins] r54538 - python/trunk/Modules/_ctypes/_ctypes.c

thomas.heller python-checkins at python.org
Thu Mar 22 21:34:38 CET 2007


Author: thomas.heller
Date: Thu Mar 22 21:34:37 2007
New Revision: 54538
Modified:
 python/trunk/Modules/_ctypes/_ctypes.c
Log:
Explain the purpose of the b_needsfree flag (forward ported from release25-maint).
Modified: python/trunk/Modules/_ctypes/_ctypes.c
==============================================================================
--- python/trunk/Modules/_ctypes/_ctypes.c	(original)
+++ python/trunk/Modules/_ctypes/_ctypes.c	Thu Mar 22 21:34:37 2007
@@ -2181,6 +2181,12 @@
 	if ((size_t)dict->size <= sizeof(obj->b_value)) {
 		/* No need to call malloc, can use the default buffer */
 		obj->b_ptr = (char *)&obj->b_value;
+		/* The b_needsfree flag does not mean that we actually did
+		 call PyMem_Malloc to allocate the memory block; instead it
+		 means we are the *owner* of the memory and are responsible
+		 for freeing resources associated with the memory. This is
+		 also the reason that b_needsfree is exposed to Python.
+		 */
 		obj->b_needsfree = 1;
 	} else {
 		/* In python 2.4, and ctypes 0.9.6, the malloc call took about


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /