diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2012-06-01 12:06:18 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2012-06-01 12:06:18 +0100 |
commit | 1b0c3e785e30de60bd93de53218907b2a3771839 (patch) | |
tree | d5cbdc8f285f5f3b12682576700f0ef251f10234 /tools/libxl/libxl_utils.c | |
parent | 24879b00baf0e7cf5c9ed43112ac77e3c7735dfb (diff) | |
download | xen-1b0c3e785e30de60bd93de53218907b2a3771839.tar.gz xen-1b0c3e785e30de60bd93de53218907b2a3771839.tar.bz2 xen-1b0c3e785e30de60bd93de53218907b2a3771839.zip |
libxl: add internal function to get a domain's scheduler
This takes into account cpupools.
Add a helper to get the info for a single cpu pool, refactor libxl_list_cpupool
t use this. While there fix the leaks due to not disposing the partial list on
realloc failure in that function.
Fix the failure of sched_domain_output to free the poolinfo list.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl_utils.c')
-rw-r--r-- | tools/libxl/libxl_utils.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c index 2382c9dda4..67ef82c8e4 100644 --- a/tools/libxl/libxl_utils.c +++ b/tools/libxl/libxl_utils.c @@ -133,9 +133,8 @@ int libxl_name_to_cpupoolid(libxl_ctx *ctx, const char *name, } free(poolname); } - libxl_cpupoolinfo_dispose(poolinfo + i); } - free(poolinfo); + libxl_cpupoolinfo_list_free(poolinfo, nb_pools); return ret; } @@ -688,6 +687,14 @@ void libxl_vminfo_list_free(libxl_vminfo *list, int nr) free(list); } +void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nr) +{ + int i; + for (i = 0; i < nr; i++) + libxl_cpupoolinfo_dispose(&list[i]); + free(list); +} + int libxl_domid_valid_guest(uint32_t domid) { /* returns 1 if the value _could_ be a valid guest domid, 0 otherwise |