[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3/5] xl: Abolish vncviewer_child_report
vncviewer_child_report was very similar to console_child_report. We can abolish vncviewer_child_report by adding an xlchildnum parameter to console_child_report. Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx> --- tools/libxl/xl_cmdimpl.c | 45 ++++++++++++++++----------------------------- 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 0c2eca3..d61d301 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -205,29 +205,29 @@ static uint32_t find_domain(const char *p) return domid; } -static int vncviewer(uint32_t domid, int autopass) +static void console_child_report(xlchildnum child) { - libxl_vncviewer_exec(ctx, domid, autopass); - fprintf(stderr, "Unable to execute vncviewer\n"); - return 1; -} - -static void vncviewer_child_report(void) -{ - if (xl_child_pid(child_vncviewer)) { + if (xl_child_pid(child)) { int status; - pid_t got = xl_waitpid(child_vncviewer, &status, 0); + pid_t got = xl_waitpid(child, &status, 0); if (got < 0) - perror("xl: warning, failed to waitpid for vncviewer child"); + fprintf(stderr, "xl: warning, failed to waitpid for %s: %s\n", + children[child].description, strerror(errno)); else if (status) - xl_report_child_exitstatus(XTL_ERROR, child_vncviewer, - got, status); + xl_report_child_exitstatus(XTL_ERROR, child, got, status); } } +static int vncviewer(uint32_t domid, int autopass) +{ + libxl_vncviewer_exec(ctx, domid, autopass); + fprintf(stderr, "Unable to execute vncviewer\n"); + return 1; +} + static void autoconnect_vncviewer(uint32_t domid, int autopass) { - vncviewer_child_report(); + console_child_report(child_vncviewer); pid_t pid = xl_fork(child_vncviewer, "vncviewer child"); if (pid) @@ -1983,19 +1983,6 @@ static int freemem(uint32_t domid, libxl_domain_build_info *b_info) return ERROR_NOMEM; } -static void console_child_report(void) -{ - if (xl_child_pid(child_console)) { - int status; - pid_t got = xl_waitpid(child_console, &status, 0); - if (got < 0) - perror("xl: warning, failed to waitpid for console child"); - else if (status) - xl_report_child_exitstatus(XTL_ERROR, child_console, - got, status); - } -} - static void autoconnect_console(libxl_ctx *ctx_ignored, libxl_event *ev, void *priv) { @@ -2003,7 +1990,7 @@ static void autoconnect_console(libxl_ctx *ctx_ignored, libxl_event_free(ctx, ev); - console_child_report(); + console_child_report(child_console); pid_t pid = xl_fork(child_console, "console child"); if (pid) @@ -2461,7 +2448,7 @@ out: free(config_data); - console_child_report(); + console_child_report(child_console); if (deathw) libxl_evdisable_domain_death(ctx, deathw); -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |