[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 12/19] libxl: Add a gc to libxl_get_cpu_topology



On Fri, 2012-06-08 at 18:34 +0100, Ian Jackson wrote:
> In the next patch we are going to change the definition of NOGC to
> require a local variable libxl__gc *gc.
> 
> libxl_get_cpu_topology doesn't have one but does use NOGC.
> Fix this by:
>  - introducing an `out' label
>  - replacing the only call to `return' with a suitable assignment
>    to ret and a `goto out'.
>  - adding uses of GC_INIT and GC_FREE.
> 
> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> ---
>  tools/libxl/libxl.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 7de026b..2a31528 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -3202,6 +3202,7 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo 
> *physinfo)
>  
>  libxl_cputopology *libxl_get_cpu_topology(libxl_ctx *ctx, int *nr)
>  {
> +    GC_INIT(ctx);
>      xc_topologyinfo_t tinfo;
>      DECLARE_HYPERCALL_BUFFER(xc_cpu_to_core_t, coremap);
>      DECLARE_HYPERCALL_BUFFER(xc_cpu_to_socket_t, socketmap);
> @@ -3214,7 +3215,8 @@ libxl_cputopology *libxl_get_cpu_topology(libxl_ctx 
> *ctx, int *nr)
>      if (max_cpus == 0)
>      {
>          LIBXL__LOG(ctx, XTL_ERROR, "Unable to determine number of CPUS");
> -        return NULL;
> +        ret = NULL;
> +        goto out;
>      }
>  
>      coremap = xc_hypercall_buffer_alloc
> @@ -3259,6 +3261,8 @@ fail:
>  
>      if (ret)
>          *nr = max_cpus;
> + out:
> +    GC_FREE;
>      return ret;
>  }
>  



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.