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) ...@@ -506,7 +506,7 @@ static void lxc_console_peer_default(struct lxc_console *console)
DEBUG("using '%s' as console", path); DEBUG("using '%s' as console", path);
if (!isatty(console->peer)) if (!isatty(console->peer))
goto err1; return;
ts = lxc_console_sigwinch_init(console->peer, console->master); ts = lxc_console_sigwinch_init(console->peer, console->master);
if (!ts) if (!ts)
...@@ -611,23 +611,7 @@ err: ...@@ -611,23 +611,7 @@ err:
return -1; 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, static int lxc_console_cb_tty_stdin(int fd, uint32_t events, void *cbdata,
struct lxc_epoll_descr *descr) struct lxc_epoll_descr *descr)
......
...@@ -36,4 +36,3 @@ extern int lxc_console(struct lxc_container *c, int ttynum, ...@@ -36,4 +36,3 @@ extern int lxc_console(struct lxc_container *c, int ttynum,
int escape); int escape);
extern int lxc_console_getfd(struct lxc_container *c, int *ttynum, extern int lxc_console_getfd(struct lxc_container *c, int *ttynum,
int *masterfd); int *masterfd);
extern int lxc_console_set_stdfds(struct lxc_handler *);
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
#include <fcntl.h> #include <fcntl.h>
#include <termios.h>
#include <unistd.h> #include <unistd.h>
#include <signal.h> #include <signal.h>
#include <libgen.h> #include <libgen.h>
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#include <termios.h>
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
#include <signal.h> #include <signal.h>
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <unistd.h> #include <unistd.h>
#include <signal.h> #include <signal.h>
#include <fcntl.h> #include <fcntl.h>
#include <termios.h>
#include <grp.h> #include <grp.h>
#include <poll.h> #include <poll.h>
#include <sys/param.h> #include <sys/param.h>
...@@ -725,15 +726,6 @@ static int do_start(void *data) ...@@ -725,15 +726,6 @@ static int do_start(void *data)
goto out_warn_father; 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); close(handler->sigfd);
/* after this call, we are in error because this /* 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