[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: rename dm_xenstore_record_pid to libxl_spawner_record_pid
# HG changeset patch # User Olaf Hering <olaf@xxxxxxxxx> # Date 1319707162 -7200 # Node ID d577f5ae4986a2c1f3c4fd89162284c72b52573c # Parent acfe774a0c9848e59962a797631c941f32fd4b4d libxl: rename dm_xenstore_record_pid to libxl_spawner_record_pid Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Acked-by: Ian Jackson <ian.jackson.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> --- diff -r acfe774a0c98 -r d577f5ae4986 tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Thu Oct 27 11:19:16 2011 +0200 +++ b/tools/libxl/libxl_dm.c Thu Oct 27 11:19:22 2011 +0200 @@ -516,31 +516,6 @@ } } -static void dm_xenstore_record_pid(void *for_spawn, pid_t innerchild) -{ - libxl__spawner_starting *starting = for_spawn; - struct xs_handle *xsh; - char *path = NULL, *pid = NULL; - int len; - - if (asprintf(&path, "%s/%s", starting->dom_path, "image/device-model-pid") < 0) - goto out; - - len = asprintf(&pid, "%d", innerchild); - if (len < 0) - goto out; - - /* we mustn't use the parent's handle in the child */ - xsh = xs_daemon_open(); - - xs_write(xsh, XBT_NULL, path, pid, len); - - xs_daemon_close(xsh); -out: - free(path); - free(pid); -} - static int libxl__vfb_and_vkb_from_device_model_info(libxl__gc *gc, libxl_device_model_info *info, libxl_device_vfb *vfb, @@ -896,7 +871,7 @@ } rc = libxl__spawn_spawn(gc, p->for_spawn, "device model", - dm_xenstore_record_pid, p); + libxl_spawner_record_pid, p); if (rc < 0) goto out_close; if (!rc) { /* inner child */ diff -r acfe774a0c98 -r d577f5ae4986 tools/libxl/libxl_exec.c --- a/tools/libxl/libxl_exec.c Thu Oct 27 11:19:16 2011 +0200 +++ b/tools/libxl/libxl_exec.c Thu Oct 27 11:19:22 2011 +0200 @@ -144,6 +144,31 @@ } } +void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild) +{ + libxl__spawner_starting *starting = for_spawn; + struct xs_handle *xsh; + char *path = NULL, *pid = NULL; + int len; + + if (asprintf(&path, "%s/%s", starting->dom_path, "image/device-model-pid") < 0) + goto out; + + len = asprintf(&pid, "%d", innerchild); + if (len < 0) + goto out; + + /* we mustn't use the parent's handle in the child */ + xsh = xs_daemon_open(); + + xs_write(xsh, XBT_NULL, path, pid, len); + + xs_daemon_close(xsh); +out: + free(path); + free(pid); +} + static int libxl__set_fd_flag(libxl__gc *gc, int fd, int flag) { int flags; diff -r acfe774a0c98 -r d577f5ae4986 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Thu Oct 27 11:19:16 2011 +0200 +++ b/tools/libxl/libxl_internal.h Thu Oct 27 11:19:22 2011 +0200 @@ -267,7 +267,7 @@ } libxl__spawn_starting; typedef struct { - char *dom_path; /* from libxl_malloc, only for dm_xenstore_record_pid */ + char *dom_path; /* from libxl_malloc, only for libxl_spawner_record_pid */ int domid; libxl__spawn_starting *for_spawn; } libxl__spawner_starting; @@ -318,6 +318,8 @@ void *hook_data); _hidden int libxl__destroy_device_model(libxl__gc *gc, uint32_t domid); +_hidden void libxl_spawner_record_pid(void *for_spawn, pid_t innerchild); + /* Logs errors. A copy of "what" is taken. Return values: * < 0 error, for_spawn need not be detached * +1 caller is the parent, must call detach on *for_spawn eventually _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |