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

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



On Thu, Jul 23, 2015 at 09:48:50AM +0100, Ian Campbell wrote:
> 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.
> 

I'm inclined to say it's a bugfix. It is reasonable that users want to
pipe console output to logging daemon.

Wei.

> 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®.