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
|