cwvreg.py
branchstable
changeset 8913 409ea1ed9832
parent 8719 539ed3fb27cb
child 8930 6a02be304486
--- a/cwvreg.py	Wed Apr 24 14:45:13 2013 +0200
+++ b/cwvreg.py	Wed Apr 24 14:40:09 2013 +0200
@@ -297,6 +297,10 @@
         super(ETypeRegistry, self).initialization_completed()
         # clear etype cache if you don't want to run into deep weirdness
         self.clear_caches()
+        # rebuild all classes to avoid potential memory fragmentation
+        # (see #2719113)
+        for eschema in self.vreg.schema.entities():
+            self.etype_class(eschema)
 
     def register(self, obj, **kwargs):
         obj = related_appobject(obj)