diff options
author | brainfvck <li.zekun@gmail.com> | 2017-10-16 12:49:41 -0700 |
---|---|---|
committer | Ćukasz Langa <lukasz@langa.pl> | 2017-10-16 12:49:41 -0700 |
commit | c75edabbb65ca2bb29e51f8d1eb2c780e5890982 (patch) | |
tree | e437dc1926002cf3700c39696ec239da3f31dc1e /Lib | |
parent | bdaeb7d237462a629e6c85001317faa85f94a0c6 (diff) | |
download | cpython-git-c75edabbb65ca2bb29e51f8d1eb2c780e5890982.tar.gz |
bpo-31558: Add gc.freeze() (#3705)
Freeze all the objects tracked by gc - move them to a permanent generation
and ignore all the future collections. This can be used before a POSIX
fork() call to make the gc copy-on-write friendly or to speed up collection.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_gc.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py index 914efec3d3..904fc7d88c 100644 --- a/Lib/test/test_gc.py +++ b/Lib/test/test_gc.py @@ -734,6 +734,12 @@ class GCTests(unittest.TestCase): self.assertEqual(new[1]["collections"], old[1]["collections"]) self.assertEqual(new[2]["collections"], old[2]["collections"] + 1) + def test_freeze(self): + gc.freeze() + self.assertGreater(gc.get_freeze_count(), 0) + gc.unfreeze() + self.assertEqual(gc.get_freeze_count(), 0) + class GCCallbackTests(unittest.TestCase): def setUp(self): |