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 <eggi.innovations@gmail.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
This commit is contained in:
Felix Schmoll authored and Wei Liu committed 2017-07-20 17:34:53 +01:00
1 parent 64c3fce245
commit 32e5bd5dcf
1 file changed
+6 -4
+6 -4
View File
@@ -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 */
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.