From: Christian Brauner Date: Wed, 28 Feb 2018 11:14:04 +0000 (+0100) Subject: terminal: lxc_terminal_free() X-Git-Tag: lxc-3.0.0.beta1~4^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b5e93c49f98e5207bb3e8a0bec78a9c2e260fe4;p=thirdparty%2Flxc.git terminal: lxc_terminal_free() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/terminal.c b/src/lxc/terminal.c index a0d3144c5..611ea7d46 100644 --- a/src/lxc/terminal.c +++ b/src/lxc/terminal.c @@ -653,15 +653,15 @@ void lxc_terminal_free(struct lxc_conf *conf, int fd) struct lxc_tty_info *ttys = &conf->ttys; struct lxc_terminal *terminal = &conf->console; - for (i = 0; i < ttys->nbtty; i++) { + for (i = 0; i < ttys->nbtty; i++) if (ttys->tty[i].busy == fd) ttys->tty[i].busy = 0; - } - if (terminal->proxy.busy == fd) { - lxc_mainloop_del_handler(terminal->descr, terminal->proxy.slave); - lxc_terminal_peer_proxy_free(terminal); - } + if (terminal->proxy.busy != fd) + return; + + lxc_mainloop_del_handler(terminal->descr, terminal->proxy.slave); + lxc_terminal_peer_proxy_free(terminal); } static int lxc_terminal_peer_default(struct lxc_terminal *terminal)