Commit e5adb2b5 by duguhaotian

clear ONLCR flag for container pty

now container pty output log, use \r\n as a newline flag. This is a windows type, so we need to change it. By clear ONLCR can reach it. Signed-off-by: 's avatarduguhaotian <duguhaotian@gmail.com>
parent 62f76cc0
......@@ -24,6 +24,7 @@
#define _GNU_SOURCE
#include <errno.h>
#include <fcntl.h>
#include <termios.h>
#include <grp.h>
#include <pwd.h>
#include <signal.h>
......@@ -979,6 +980,7 @@ static int lxc_attach_terminal(struct lxc_conf *conf,
struct lxc_terminal *terminal)
{
int ret;
struct termios oldtios;
lxc_terminal_init(terminal);
......@@ -988,6 +990,12 @@ static int lxc_attach_terminal(struct lxc_conf *conf,
return -1;
}
ret = lxc_setup_tios(terminal->master, &oldtios);
if (ret < 0) {
SYSERROR("Failed to setup terminal");
return -1;
}
/* Shift ttys to container. */
ret = lxc_terminal_map_ids(conf, terminal);
if (ret < 0) {
......
......@@ -509,6 +509,7 @@ int lxc_setup_tios(int fd, struct termios *oldtios)
#ifdef IEXTEN
newtios.c_lflag &= ~IEXTEN;
#endif
newtios.c_oflag &= ~ONLCR;
newtios.c_oflag |= OPOST;
newtios.c_cc[VMIN] = 1;
newtios.c_cc[VTIME] = 0;
......@@ -897,6 +898,7 @@ int lxc_terminal_setup(struct lxc_conf *conf)
{
int ret;
struct lxc_terminal *terminal = &conf->console;
struct termios oldtios;
if (terminal->path && strcmp(terminal->path, "none") == 0) {
INFO("No terminal requested");
......@@ -907,6 +909,10 @@ int lxc_terminal_setup(struct lxc_conf *conf)
if (ret < 0)
return -1;
ret = lxc_setup_tios(terminal->master, &oldtios);
if (ret < 0)
return -1;
ret = lxc_terminal_create_log_file(terminal);
if (ret < 0)
goto err;
......
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