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

Re: [Xen-devel] [PATCH 14 of 24] libxl: add pid path to libxl__spawner_starting



On Mon, 2011-10-03 at 16:54 +0100, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@xxxxxxxxx>
> # Date 1317653612 -7200
> # Node ID 219ab93f22c0492595686a1cc34911e9d6775b07
> # Parent  df7be429654c62fb4c61f83549374d77b80ebea3
> libxl: add pid path to libxl__spawner_starting
> 
> libxl_spawner_record_pid() should be able to write the pid to arbitrary paths.
> 
> Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
> 
> diff -r df7be429654c -r 219ab93f22c0 tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -848,6 +848,7 @@ int libxl__create_device_model(libxl__gc
>  
>      p->domid = info->domid;
>      p->dom_path = libxl__xs_get_dompath(gc, info->domid);
> +    p->pid_path = "image/device-model-pid";
>      if (!p->dom_path) {
>          rc = ERROR_FAIL;
>          goto out_close;
> diff -r df7be429654c -r 219ab93f22c0 tools/libxl/libxl_exec.c
> --- a/tools/libxl/libxl_exec.c
> +++ b/tools/libxl/libxl_exec.c
> @@ -151,7 +151,7 @@ void libxl_spawner_record_pid(void *for_
>      char *path = NULL, *pid = NULL;
>      int len;
>  
> -    if (asprintf(&path, "%s/%s", starting->dom_path, 
> "image/device-model-pid") < 0)
> +    if (asprintf(&path, "%s/%s", starting->dom_path, starting->pid_path) < 0)
>          goto out;
>  
>      len = asprintf(&pid, "%d", innerchild);
> diff -r df7be429654c -r 219ab93f22c0 tools/libxl/libxl_internal.h
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -250,6 +250,7 @@ typedef struct {
>  
>  typedef struct {
>      char *dom_path; /* from libxl_malloc, only for libxl_spawner_record_pid 
> */
> +    char *pid_path; /* from libxl_malloc, only for libxl_spawner_record_pid 
> */

Either this new comment is true and you need a strdup() up above where
you set it and a free() somewhere else (or use libxl__strdup()) or it is
false and it should be removed and pid_path should be const char *.

I think the second option is sufficient for the current and new user you
are about to add?

Ian.

>      int domid;
>      libxl__spawn_starting *for_spawn;
>  } libxl__spawner_starting;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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