[Python-checkins] r42840 - in python/trunk: Include/objimpl.h Modules/gcmodule.c

neal.norwitz python-checkins at python.org
Sat Mar 4 21:01:56 CET 2006


Author: neal.norwitz
Date: Sat Mar  4 21:01:53 2006
New Revision: 42840

Modified:
   python/trunk/Include/objimpl.h
   python/trunk/Modules/gcmodule.c
Log:
Make PyGC_Collect() use Py_ssize_t.


Modified: python/trunk/Include/objimpl.h
==============================================================================
--- python/trunk/Include/objimpl.h	(original)
+++ python/trunk/Include/objimpl.h	Sat Mar  4 21:01:53 2006
@@ -229,7 +229,7 @@
  */
 
 /* C equivalent of gc.collect(). */
-PyAPI_FUNC(long) PyGC_Collect(void);
+PyAPI_FUNC(Py_ssize_t) PyGC_Collect(void);
 
 /* Test if a type has a GC head */
 #define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)

Modified: python/trunk/Modules/gcmodule.c
==============================================================================
--- python/trunk/Modules/gcmodule.c	(original)
+++ python/trunk/Modules/gcmodule.c	Sat Mar  4 21:01:53 2006
@@ -196,11 +196,11 @@
 	gc_list_init(from);
 }
 
-static long
+static Py_ssize_t
 gc_list_size(PyGC_Head *list)
 {
 	PyGC_Head *gc;
-	long n = 0;
+	Py_ssize_t n = 0;
 	for (gc = list->gc.gc_next; gc != list; gc = gc->gc.gc_next) {
 		n++;
 	}
@@ -719,12 +719,12 @@
 
 /* This is the main function.  Read this to understand how the
  * collection process works. */
-static long
+static Py_ssize_t
 collect(int generation)
 {
 	int i;
-	long m = 0;	/* # objects collected */
-	long n = 0;	/* # unreachable objects that couldn't be collected */
+	Py_ssize_t m = 0; /* # objects collected */
+	Py_ssize_t n = 0; /* # unreachable objects that couldn't be collected */
 	PyGC_Head *young; /* the generation we are examining */
 	PyGC_Head *old; /* next older generation */
 	PyGC_Head unreachable; /* non-problematic unreachable trash */
@@ -856,11 +856,11 @@
 	return n+m;
 }
 
-static long
+static Py_ssize_t
 collect_generations(void)
 {
 	int i;
-	long n = 0;
+	Py_ssize_t n = 0;
 
 	/* Find the oldest generation (higest numbered) where the count
 	 * exceeds the threshold.  Objects in the that generation and
@@ -919,7 +919,7 @@
 static PyObject *
 gc_collect(PyObject *self, PyObject *noargs)
 {
-	long n;
+	Py_ssize_t n;
 
 	if (collecting)
 		n = 0; /* already collecting, don't do anything */
@@ -929,7 +929,7 @@
 		collecting = 0;
 	}
 
-	return Py_BuildValue("l", n);
+	return PyInt_FromSsize_t(n);
 }
 
 PyDoc_STRVAR(gc_set_debug__doc__,
@@ -1181,10 +1181,10 @@
 }
 
 /* API to invoke gc.collect() from C */
-long
+Py_ssize_t
 PyGC_Collect(void)
 {
-	long n;
+	Py_ssize_t n;
 
 	if (collecting)
 		n = 0; /* already collecting, don't do anything */


More information about the Python-checkins mailing list