[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] tools/libxl: remove libxl_free() since there are no more callers
# HG changeset patch # User Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> # Date 1281962359 -3600 # Node ID def814437d4247eced1218e5bcd5c583bf7df0bb # Parent 1382296539fc73e259e96b1d8d59ab285a24712d tools/libxl: remove libxl_free() since there are no more callers libxl_free() allows allocated memory to be explicitly free'd from a libxl_gc. Every previous use of this function has now been made redundant and therefore has been removed. We can safely kill it and amend the policy accordingly. Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/libxl.h | 7 +++---- tools/libxl/libxl_internal.c | 19 ------------------- tools/libxl/libxl_internal.h | 1 - 3 files changed, 3 insertions(+), 24 deletions(-) diff -r 1382296539fc -r def814437d42 tools/libxl/libxl.h --- a/tools/libxl/libxl.h Mon Aug 16 13:37:58 2010 +0100 +++ b/tools/libxl/libxl.h Mon Aug 16 13:39:19 2010 +0100 @@ -117,10 +117,9 @@ * and an internal wrapper adds the relevant pointers to the gc. * The latter method is preferred for obvious performance reasons. * - * No temporary objects allocated from the pool should be explicitly freed. - * Calling libxl_free_all() before returning from a public functions will do - * this. The upshot of this is that almost all calls to libxl_free() are - * erroneous. + * No temporary objects allocated from the pool may be explicitly freed. + * Therefore public functions which initialize a libxl_gc MUST call + * libxl_free_all() before returning. */ #ifndef LIBXL_H #define LIBXL_H diff -r 1382296539fc -r def814437d42 tools/libxl/libxl_internal.c --- a/tools/libxl/libxl_internal.c Mon Aug 16 13:37:58 2010 +0100 +++ b/tools/libxl/libxl_internal.c Mon Aug 16 13:39:19 2010 +0100 @@ -57,25 +57,6 @@ int libxl_ptr_add(libxl_gc *gc, void *pt gc->alloc_ptrs = re; gc->alloc_maxsize += 25; return 0; -} - -void libxl_free(libxl_gc *gc, void *ptr) -{ - int i; - - if (!ptr) - return; - - /* remove the pointer from the tracked ptrs */ - for (i = 0; i < gc->alloc_maxsize; i++) { - if (gc->alloc_ptrs[i] == ptr) { - gc->alloc_ptrs[i] = NULL; - free(ptr); - return; - } - } - /* haven't find the pointer, really bad */ - abort(); } void libxl_free_all(libxl_gc *gc) diff -r 1382296539fc -r def814437d42 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Mon Aug 16 13:37:58 2010 +0100 +++ b/tools/libxl/libxl_internal.h Mon Aug 16 13:39:19 2010 +0100 @@ -129,7 +129,6 @@ static inline libxl_ctx *libxl_gc_owner( /* memory allocation tracking/helpers */ _hidden int libxl_ptr_add(libxl_gc *gc, void *ptr); -_hidden void libxl_free(libxl_gc *gc, void *ptr); _hidden void libxl_free_all(libxl_gc *gc); _hidden void *libxl_zalloc(libxl_gc *gc, int bytes); _hidden void *libxl_calloc(libxl_gc *gc, size_t nmemb, size_t size); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |