mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Fix SF bug 572567: Memory leak in object comparison.
This commit is contained in:
parent
563d12d145
commit
ab5dae35ca
3 changed files with 14 additions and 0 deletions
|
@ -1163,6 +1163,18 @@ def slots():
|
|||
gc.collect()
|
||||
vereq(Counted.counter, 0)
|
||||
|
||||
# Test lookup leaks [SF bug 572567]
|
||||
import sys,gc
|
||||
class G(object):
|
||||
def __cmp__(self, other):
|
||||
return 0
|
||||
g = G()
|
||||
orig_objects = len(gc.get_objects())
|
||||
for i in xrange(10):
|
||||
g==g
|
||||
new_objects = len(gc.get_objects())
|
||||
vereq(orig_objects, new_objects)
|
||||
|
||||
def dynamics():
|
||||
if verbose: print "Testing class attribute propagation..."
|
||||
class D(object):
|
||||
|
|
|
@ -233,6 +233,7 @@ John Interrante
|
|||
Ben Jackson
|
||||
Paul Jackson
|
||||
David Jacobs
|
||||
Kevin Jacobs
|
||||
Geert Jansen
|
||||
Jack Jansen
|
||||
Bill Janssen
|
||||
|
|
|
@ -3286,6 +3286,7 @@ half_compare(PyObject *self, PyObject *other)
|
|||
res = PyObject_Call(func, args, NULL);
|
||||
Py_DECREF(args);
|
||||
}
|
||||
Py_DECREF(func);
|
||||
if (res != Py_NotImplemented) {
|
||||
if (res == NULL)
|
||||
return -2;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue