Commit e5ab821d by Serge Hallyn

Revert "fix console stdin,stdout,stderr fds"

This reverts commit 1da0ad1e.
parent 3afbcc46
......@@ -506,7 +506,7 @@ static void lxc_console_peer_default(struct lxc_console *console)
DEBUG("using '%s' as console", path);
if (!isatty(console->peer))
goto err1;
return;
ts = lxc_console_sigwinch_init(console->peer, console->master);
if (!ts)
......@@ -611,23 +611,7 @@ err:
return -1;
}
int lxc_console_set_stdfds(struct lxc_handler *handler)
{
struct lxc_conf *conf = handler->conf;
struct lxc_console *console = &conf->console;
if (console->slave < 0)
return 0;
if (dup2(console->slave, 0) < 0 ||
dup2(console->slave, 1) < 0 ||
dup2(console->slave, 2) < 0)
{
SYSERROR("failed to dup console");
return -1;
}
return 0;
}
static int lxc_console_cb_tty_stdin(int fd, uint32_t events, void *cbdata,
struct lxc_epoll_descr *descr)
......
......@@ -36,4 +36,3 @@ extern int lxc_console(struct lxc_container *c, int ttynum,
int escape);
extern int lxc_console_getfd(struct lxc_container *c, int *ttynum,
int *masterfd);
extern int lxc_console_set_stdfds(struct lxc_handler *);
......@@ -28,6 +28,7 @@
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <termios.h>
#include <unistd.h>
#include <signal.h>
#include <libgen.h>
......
......@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <termios.h>
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
......
......@@ -31,6 +31,7 @@
#include <unistd.h>
#include <signal.h>
#include <fcntl.h>
#include <termios.h>
#include <grp.h>
#include <poll.h>
#include <sys/param.h>
......@@ -725,15 +726,6 @@ static int do_start(void *data)
goto out_warn_father;
}
/* Some init's such as busybox will set sane tty settings on stdin,
* stdout, stderr which it thinks is the console. We already set them
* the way we wanted on the real terminal, and we want init to do its
* setup on its console ie. the pty allocated in lxc_console_create()
* so make sure that that pty is stdin,stdout,stderr.
*/
if (lxc_console_set_stdfds(handler) < 0)
goto out_warn_father;
close(handler->sigfd);
/* after this call, we are in error because this
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment