The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/1204

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) ===
Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com>
From a7fb6043b9208d8a13ddf814bb0ee86f9e6a10be Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho.ander...@canonical.com>
Date: Wed, 21 Sep 2016 21:45:49 +0000
Subject: [PATCH] c/r: detatch from controlling tty on restore

Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com>
---
 src/lxc/criu.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/lxc/criu.c b/src/lxc/criu.c
index 3e586b9..67d6fdc 100644
--- a/src/lxc/criu.c
+++ b/src/lxc/criu.c
@@ -662,9 +662,22 @@ static void do_restore(struct lxc_container *c, int 
status_pipe, struct migrate_
 {
        pid_t pid;
        struct lxc_handler *handler;
-       int status;
+       int status, fd;
        int pipes[2] = {-1, -1};
 
+       /* Try to detach from the current controlling tty if it exists.
+        * Othwerise, lxc_init (via lxc_console) will attach the container's
+        * console output to the current tty, which is probably not what any
+        * library user wants, and if they do, they can just manually configure
+        * it :)
+        */
+       fd = open("/dev/tty", O_RDWR);
+       if (fd >= 0) {
+               if (ioctl(fd, TIOCNOTTY, NULL) < 0)
+                       SYSERROR("couldn't detach from tty");
+               close(fd);
+       }
+
        handler = lxc_init(c->name, c->lxc_conf, c->config_path);
        if (!handler)
                goto out;
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to