Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
xen
20013-xend-memleak.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 20013-xend-memleak.patch of Package xen
# HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1249470279 -3600 # Node ID e41d42ef4cd2968cd480063a3c82d91c38cb8c7d # Parent 3242351f9c6766fe4fbc27d969b1b84a9926cbda xend: fix memory leak resulting in long garbage collector runs In the method xen.xend.XendStateStore.XendStateStore.load_state and xen.xend.XendStateStore.XendStateStore.save_state the minidom objects used to load/save the current state of a device type, can't be freed by the python garbage collector after all references to the top node are cleared, because of cyclic references between the DOM nodes. So memory usage of xend increases after calling these methods. To solve this problem, the unlink() method must be called for a minidom object before the last reference to the top node is cleared (see python docs). This breaks the cyclic references, so the garbage collector can free these objects. Signed-off-by: juergen.gross@ts.fujitsu.com Index: xen-3.4.1-testing/tools/python/xen/xend/XendStateStore.py =================================================================== --- xen-3.4.1-testing.orig/tools/python/xen/xend/XendStateStore.py +++ xen-3.4.1-testing/tools/python/xen/xend/XendStateStore.py @@ -147,6 +147,7 @@ class XendStateStore: cls_dict[val_name] = bool(int(val_text)) state[uuid] = cls_dict + dom.unlink() return state def save_state(self, cls, state): @@ -226,5 +227,5 @@ class XendStateStore: node.appendChild(val_node) open(xml_path, 'w').write(doc.toprettyxml()) - + doc.unlink()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor