Pino Toscano
2016-Jan-26 10:28 UTC
[Libguestfs] [PATCH] daemon: improve debugging for "stdout on stderr" flag
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); -- 2.5.0
Richard W.M. Jones
2016-Jan-26 10:49 UTC
Re: [Libguestfs] [PATCH] daemon: improve debugging for "stdout on stderr" flag
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
Apparently Analagous Threads
- [PATCH 1/2] daemon: NFC Use symbolic names in commandrvf
- [PATCH] daemon: improve internal commandrvf
- [PATCH v3 2/6] daemon: Split out command() functions and CLEANUP_* macros into separate files.
- [PATCH v3 0/6] [FOR COMMENTS ONLY] Rework inspection.
- Re: [PATCH] daemon: improve internal commandrvf