summaryrefslogtreecommitdiffstats
path: root/src/launch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/launch.c')
-rw-r--r--src/launch.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/launch.c b/src/launch.c
index 58fb0d12..3e46e8f3 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -602,7 +602,7 @@ launch_appliance (guestfs_h *g)
guestfs___print_timestamped_argv (g, (const char **)g->cmdline);
if (!g->direct) {
- /* Set up stdin, stdout. */
+ /* Set up stdin, stdout, stderr. */
close (0);
close (1);
close (wfd[1]);
@@ -618,6 +618,14 @@ launch_appliance (guestfs_h *g)
if (dup (rfd[1]) == -1)
goto dup_failed;
+ /* Particularly since qemu 0.15, qemu spews all sorts of debug
+ * information on stderr. It is useful to both capture this and
+ * not confuse casual users, so send stderr to the pipe as well.
+ */
+ close (2);
+ if (dup (rfd[1]) == -1)
+ goto dup_failed;
+
close (wfd[0]);
close (rfd[1]);
}