[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] xenconsole: Add option to xenconsole to always forward console input



commit 32e5bd5dcf6f45c2fc39d8d62b52b53d3e79ada7
Author:     Felix Schmoll <eggi.innovations@xxxxxxxxx>
AuthorDate: Thu Jul 20 09:47:48 2017 +0200
Commit:     Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Thu Jul 20 17:34:53 2017 +0100

    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@xxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/console/client/main.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/console/client/main.c b/tools/console/client/main.c
index 977779f..c340cb7 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 */
        }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.