From: Felix Schmoll Date: Thu, 20 Jul 2017 07:47:48 +0000 (+0200) Subject: xenconsole: Add option to xenconsole to always forward console input X-Git-Tag: 4.10.0-rc1~711 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=32e5bd5dcf6f45c2fc39d8d62b52b53d3e79ada7;p=people%2Fdariof%2Fxen.git xenconsole: Add option to xenconsole to always forward console input Currently the default behaviour of the xenconsole client is to ignore any input to stdin, unless stdin and stdout are both ttys. The new option allows to manually overwrite this, causing the client to forward input regardless. Signed-off-by: Felix Schmoll Acked-by: Wei Liu Acked-by: Ian Jackson --- diff --git a/tools/console/client/main.c b/tools/console/client/main.c index 977779f034..c340cb7de3 100644 --- a/tools/console/client/main.c +++ b/tools/console/client/main.c @@ -334,6 +334,7 @@ int main(int argc, char **argv) { "num", 1, 0, 'n' }, { "help", 0, 0, 'h' }, { "start-notify-fd", 1, 0, 's' }, + { "interactive", 0, 0, 'i' }, { 0 }, }; @@ -344,9 +345,6 @@ int main(int argc, char **argv) console_type type = CONSOLE_INVAL; bool interactive = 0; - if (isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)) - interactive = 1; - while((ch = getopt_long(argc, argv, sopt, lopt, &opt_ind)) != -1) { switch(ch) { case 'h': @@ -370,6 +368,9 @@ int main(int argc, char **argv) case 's': start_notify_fd = atoi(optarg); break; + case 'i': + interactive = 1; + break; default: fprintf(stderr, "Invalid argument\n"); fprintf(stderr, "Try `%s --help' for more information.\n", @@ -464,7 +465,8 @@ int main(int argc, char **argv) } init_term(spty, &attr); - if (interactive) { + if (isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)) { + interactive = 1; init_term(STDIN_FILENO, &stdin_old_attr); atexit(restore_term_stdin); /* if this fails, oh dear */ }