From: LiFeng Date: Mon, 22 Jan 2018 11:13:52 +0000 (-0500) Subject: Fix comments and add check in lxc_poll. X-Git-Tag: lxc-2.0.10~377 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5ea184faa9f3edab377ae1dae6544b2d56575e5;p=thirdparty%2Flxc.git Fix comments and add check in lxc_poll. Add check whether handler->conf->console.path is 'none' Signed-off-by: LiFeng --- diff --git a/src/lxc/start.c b/src/lxc/start.c index f952998aa..721dda3c6 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -485,19 +485,24 @@ int lxc_set_state(const char *name, struct lxc_handler *handler, int lxc_poll(const char *name, struct lxc_handler *handler) { int ret; - struct lxc_console *console = &handler->conf->console; + bool has_console = true; struct lxc_epoll_descr descr, descr_console; + if (handler->conf->console.path && !strcmp(handler->conf->console.path, "none")) + has_console = false; + ret = lxc_mainloop_open(&descr); if (ret < 0) { ERROR("Failed to create mainloop"); goto out_sigfd; } - ret = lxc_mainloop_open(&descr_console); - if (ret < 0) { - ERROR("Failed to create console mainloop"); - goto out_mainloop; + if (has_console) { + ret = lxc_mainloop_open(&descr_console); + if (ret < 0) { + ERROR("Failed to create console mainloop"); + goto out_mainloop; + } } ret = lxc_mainloop_add_handler(&descr, handler->sigfd, signal_handler, handler); @@ -517,16 +522,20 @@ int lxc_poll(const char *name, struct lxc_handler *handler) #endif } - ret = lxc_console_mainloop_add(&descr, console); - if (ret < 0) { - ERROR("Failed to add console handlers to mainloop"); - goto out_mainloop_console; - } + if (has_console) { + struct lxc_console *console = &handler->conf->console; - ret = lxc_console_mainloop_add(&descr_console, console); - if (ret < 0) { - ERROR("Failed to add console handlers to console mainloop"); - goto out_mainloop_console; + ret = lxc_console_mainloop_add(&descr, console); + if (ret < 0) { + ERROR("Failed to add console handlers to mainloop"); + goto out_mainloop_console; + } + + ret = lxc_console_mainloop_add(&descr_console, console); + if (ret < 0) { + ERROR("Failed to add console handlers to console mainloop"); + goto out_mainloop_console; + } } ret = lxc_cmd_mainloop_add(name, &descr, handler); @@ -543,11 +552,14 @@ int lxc_poll(const char *name, struct lxc_handler *handler) if (ret < 0 || !handler->init_died) goto out_mainloop_console; - ret = lxc_mainloop(&descr_console, 0); + if (has_console) + ret = lxc_mainloop(&descr_console, 0); out_mainloop_console: - lxc_mainloop_close(&descr_console); - TRACE("Closed console mainloop"); + if (has_console) { + lxc_mainloop_close(&descr_console); + TRACE("Closed console mainloop"); + } out_mainloop: lxc_mainloop_close(&descr);