Merged revisions 79013 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79013 | collin.winter | 2010-03-16 19:02:30 -0700 (Tue, 16 Mar 2010) | 1 line

  Fix a trivial class of (hypothetical, future) false-positive refleaks, discovered by an optimization in Unladen Swallow's past (which will become CPython's future).
........
This commit is contained in:
Collin Winter 2010-03-17 02:08:57 +00:00
parent f2bf2b3ec4
commit 58bee59b4e
1 changed files with 3 additions and 2 deletions

View File

@ -1010,13 +1010,14 @@ def dash_R(the_module, test, indirect_test, huntrleaks):
sys.stderr.flush() sys.stderr.flush()
dash_R_cleanup(fs, ps, pic, zdc, abcs) dash_R_cleanup(fs, ps, pic, zdc, abcs)
for i in range(repcount): for i in range(repcount):
rc = sys.gettotalrefcount() rc_before = sys.gettotalrefcount()
run_the_test() run_the_test()
sys.stderr.write('.') sys.stderr.write('.')
sys.stderr.flush() sys.stderr.flush()
dash_R_cleanup(fs, ps, pic, zdc, abcs) dash_R_cleanup(fs, ps, pic, zdc, abcs)
rc_after = sys.gettotalrefcount()
if i >= nwarmup: if i >= nwarmup:
deltas.append(sys.gettotalrefcount() - rc - 2) deltas.append(rc_after - rc_before)
print(file=sys.stderr) print(file=sys.stderr)
if any(deltas): if any(deltas):
msg = '%s leaked %s references, sum=%s' % (test, deltas, sum(deltas)) msg = '%s leaked %s references, sum=%s' % (test, deltas, sum(deltas))