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

Re: [Xen-devel] [PATCH] xenconsole: Allow non-interactive use



On Wed, 2015-07-22 at 19:08 +0200, Martin Lucina wrote:
> If xenconsole is run with stdin closed or redirected to /dev/null,
> console_loop() will return immediately due to failure to read from
> STDIN_FILENO. This patch tests if stdin and stdout are both connected 
> to
> a TTY and, if not, xenconsole will not attempt to read from stdin or
> modify stdout terminal attributes.
> 
> Existing behaviour when xenconsole is run from a terminal does not
> change.
> 
> This allows for non-interactive use, eg. running "xl create -c" under
> systemd or piping the output of "xl console" to another command.
> 
> Signed-off-by: Martin Lucina <martin@xxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

WRT the 4.6 freeze I'm torn between calling this a feature or a bugfix.

A pair of nits, which probably aren't worth acting on:

> @@ -176,8 +177,13 @@ static int console_loop(int fd, struct xs_handle
> *xs, char *pty_path)
>               fd_set fds;
>  
>               FD_ZERO(&fds);
> -             FD_SET(STDIN_FILENO, &fds);
> -             max_fd = STDIN_FILENO;
> +             if (interactive) {
> +                     FD_SET(STDIN_FILENO, &fds);
> +                     max_fd = STDIN_FILENO;
> +             }
> +             else {
> +                     max_fd = -1;
> +             }

Looking at the rest of the file and tools/console subtree it seems the
prevailing coding style is:

                } else
                                        max_fd = -1;

(i.e. } brace on the same line as the else and no {} for single
statements after an else).

But maybe it would be better to set max_fd = -1 on declaration and do
the max dance here as with the following cases?

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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