The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/3214
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === "busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it. Signed-off-by: Rachid Koucha <rachid.kou...@gmail.com>
From dd3de5683d8db869c962c23e9a48f57220888c2f Mon Sep 17 00:00:00 2001 From: Rachid Koucha <47061324+rachid-kou...@users.noreply.github.com> Date: Fri, 6 Dec 2019 14:59:52 +0100 Subject: [PATCH 1/3] Init "busy" field to -1 as 0 is valid fd "busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it. Signed-off-by: Rachid Koucha <rachid.kou...@gmail.com> --- src/lxc/start.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lxc/start.c b/src/lxc/start.c index 6e2f0ab046..de564291f8 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -1526,11 +1526,11 @@ static int lxc_recv_ttys_from_child(struct lxc_handler *handler) break; tty = &ttys->tty[i]; - tty->busy = 0; + tty->busy = -1; tty->master = ttyfds[0]; tty->slave = ttyfds[1]; TRACE("Received pty with master fd %d and slave fd %d from " - "parent", tty->master, tty->slave); + "child", tty->master, tty->slave); } if (ret < 0) From 7581d645eea3863b0df568b637b45e4a56349d3e Mon Sep 17 00:00:00 2001 From: Rachid Koucha <47061324+rachid-kou...@users.noreply.github.com> Date: Fri, 6 Dec 2019 15:04:31 +0100 Subject: [PATCH 2/3] "busy" field set to 1 instead of 0 "busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it. Signed-off-by: Rachid Koucha <rachid.kou...@gmail.com> --- src/lxc/conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lxc/conf.c b/src/lxc/conf.c index b192c7550a..03f4d69587 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -1006,7 +1006,7 @@ int lxc_allocate_ttys(struct lxc_conf *conf) SYSWARN("Failed to set FD_CLOEXEC flag on slave fd %d of " "tty device \"%s\"", tty->slave, tty->name); - tty->busy = 0; + tty->busy = -1; } INFO("Finished creating %zu tty devices", ttys->max); From 730aaf46e0397a5142e6515db733d68c64e4d88f Mon Sep 17 00:00:00 2001 From: Rachid Koucha <47061324+rachid-kou...@users.noreply.github.com> Date: Fri, 6 Dec 2019 15:07:47 +0100 Subject: [PATCH 3/3] "busy" field set to -1 instead of 0 "busy" field is assigned with the command socket descriptor when the terminal is in use. So, use "-1" to disable it. Signed-off-by: Rachid Koucha <rachid.kou...@gmail.com> --- src/lxc/terminal.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lxc/terminal.c b/src/lxc/terminal.c index aba8bb9217..26b2d50d7c 100644 --- a/src/lxc/terminal.c +++ b/src/lxc/terminal.c @@ -593,7 +593,7 @@ int lxc_terminal_allocate(struct lxc_conf *conf, int sockfd, int *ttyreq) if (*ttyreq > ttys->max) goto out; - if (ttys->tty[*ttyreq - 1].busy) + if (ttys->tty[*ttyreq - 1].busy >= 0) goto out; /* The requested tty is available. */ @@ -602,7 +602,7 @@ int lxc_terminal_allocate(struct lxc_conf *conf, int sockfd, int *ttyreq) } /* Search for next available tty, fixup index tty1 => [0]. */ - for (ttynum = 1; ttynum <= ttys->max && ttys->tty[ttynum - 1].busy; ttynum++) { + for (ttynum = 1; ttynum <= ttys->max && ttys->tty[ttynum - 1].busy >= 0; ttynum++) { ; } @@ -628,7 +628,7 @@ void lxc_terminal_free(struct lxc_conf *conf, int fd) for (i = 0; i < ttys->max; i++) if (ttys->tty[i].busy == fd) - ttys->tty[i].busy = 0; + ttys->tty[i].busy = -1; if (terminal->proxy.busy != fd) return;
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel