From: Ian Campbell <ian.campbell@citrix.com>
To: Martin Lucina <martin@lucina.net>, xen-devel@lists.xenproject.org
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
Wei Liu <wei.liu2@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: Re: [PATCH] xenconsole: Allow non-interactive use
Date: Thu, 23 Jul 2015 09:48:50 +0100 [thread overview]
Message-ID: <1437641330.19412.37.camel@citrix.com> (raw)
In-Reply-To: <1437584888-9074-1-git-send-email-martin@lucina.net>
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@lucina.net>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Cc: Ian Campbell <ian.campbell@citrix.com>
> Cc: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
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.
next prev parent reply other threads:[~2015-07-23 8:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-22 17:08 [PATCH] xenconsole: Allow non-interactive use Martin Lucina
2015-07-23 8:48 ` Ian Campbell [this message]
2015-07-23 10:53 ` Wei Liu
2015-07-23 15:09 ` Martin Lucina
2015-07-23 15:23 ` Ian Campbell
2015-07-24 11:30 ` [PATCH v2] " Martin Lucina
2015-07-24 13:13 ` Ian Campbell
2015-07-24 11:36 ` [PATCH] " Martin Lucina
2015-07-24 11:44 ` Ian Campbell
2015-07-24 12:51 ` [PATCH] xenconsole: Ensure exclusive access to console using locks Martin Lucina
2015-07-24 13:11 ` Ian Campbell
2015-07-24 13:35 ` Ian Jackson
2015-07-24 13:40 ` Martin Lucina
2015-07-24 13:54 ` Ian Campbell
2015-07-24 13:32 ` Ian Jackson
2015-07-24 13:42 ` Martin Lucina
2015-07-24 14:47 ` [PATCH v2] " Martin Lucina
2015-07-24 15:07 ` Ian Jackson
2015-07-24 15:29 ` [PATCH v3] " Martin Lucina
2015-07-24 16:01 ` Ian Jackson
2015-07-27 12:44 ` Martin Lucina
2015-07-27 13:29 ` Wei Liu
2015-07-27 15:14 ` Ian Campbell
2015-07-24 15:12 ` [PATCH v2] " Ian Campbell
2015-07-24 13:42 ` [PATCH] " Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1437641330.19412.37.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=martin@lucina.net \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.