mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
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:
1 parent
64c3fce245
commit
32e5bd5dcf
1 file changed
+6
-4
@@ -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 */
|
||||
}
|
||||
|
||||