[Libguestfs] [PATCH] daemon: improve debugging for "stdout on stderr" flag
Richard W.M. Jones
rjones at redhat.com
Tue Jan 26 10:49:49 UTC 2016
On Tue, Jan 26, 2016 at 11:28:01AM +0100, Pino Toscano wrote:
> When the COMMAND_FLAG_FOLD_STDOUT_ON_STDERR flag is passed to
> command*(), indicate that as stdout=e in debugging message.
> ---
> daemon/command.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/daemon/command.c b/daemon/command.c
> index 73fce56..2423a4e 100644
> --- a/daemon/command.c
> +++ b/daemon/command.c
> @@ -185,6 +185,7 @@ commandrvf (char **stdoutput, char **stderror, unsigned flags,
> int so_fd[2], se_fd[2];
> unsigned flag_copy_stdin = flags & COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN;
> int flag_copy_fd = (int) (flags & COMMAND_FLAG_FD_MASK);
> + unsigned flag_out_on_err = flags & COMMAND_FLAG_FOLD_STDOUT_ON_STDERR;
> pid_t pid;
> int r, quit, i;
> fd_set rset, rset2;
> @@ -196,7 +197,8 @@ commandrvf (char **stdoutput, char **stderror, unsigned flags,
>
> if (verbose) {
> printf ("commandrvf: stdout=%s stderr=%s flags=0x%x\n",
> - stdoutput ? "y" : "n", stderror ? "y" : "n", flags);
> + stdoutput ? "y" : flag_out_on_err ? "e" : "n",
> + stderror ? "y" : "n", flags);
> fputs ("commandrvf: ", stdout);
> fputs (argv[0], stdout);
> for (i = 1; argv[i] != NULL; ++i) {
> @@ -261,7 +263,7 @@ commandrvf (char **stdoutput, char **stderror, unsigned flags,
> }
> close (so_fd[PIPE_READ]);
> close (se_fd[PIPE_READ]);
> - if (!(flags & COMMAND_FLAG_FOLD_STDOUT_ON_STDERR)) {
> + if (!flag_out_on_err) {
> if (dup2 (so_fd[PIPE_WRITE], STDOUT_FILENO) == -1) {
> perror ("dup2/so_fd[PIPE_WRITE]");
> _exit (EXIT_FAILURE);
Sensible, ACK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list