From b46dfd222ea6262b9e5f25cdbe433cb63562ecb8 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Thu, 27 Oct 2011 11:20:25 +0200 Subject: [PATCH] libxl: add pid path to libxl__spawner_starting libxl_spawner_record_pid() should be able to write the pid to arbitrary paths. v2: - use const char* for ->pid_path, and update comment Signed-off-by: Olaf Hering Acked-by: Ian Jackson Committed-by: Ian Jackson --- tools/libxl/libxl_dm.c | 1 + tools/libxl/libxl_exec.c | 2 +- tools/libxl/libxl_internal.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index d579056e71..c0118dc245 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -848,6 +848,7 @@ int libxl__create_device_model(libxl__gc *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 --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c index a91366ab2c..5021d28c27 100644 --- a/tools/libxl/libxl_exec.c +++ b/tools/libxl/libxl_exec.c @@ -151,7 +151,7 @@ void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild) 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 --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index e77ff23df9..8f49d9a812 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -268,6 +268,7 @@ typedef struct { typedef struct { char *dom_path; /* from libxl_malloc, only for libxl_spawner_record_pid */ + const char *pid_path; /* only for libxl_spawner_record_pid */ int domid; libxl__spawn_starting *for_spawn; } libxl__spawner_starting; -- 2.30.2