From e6df58a5578fee7a50bbf36f4a50a2781cff855d Mon Sep 17 00:00:00 2001 From: Max Reitz Date: Wed, 8 May 2019 23:18:18 +0200 Subject: qemu-nbd: Do not close stderr We kept old_stderr specifically so we could keep emitting error message on stderr. However, qemu_daemon() closes stderr. Therefore, we need to dup() stderr to old_stderr before invoking qemu_daemon(). Signed-off-by: Max Reitz Reviewed-by: Eric Blake Message-Id: <20190508211820.17851-4-mreitz@redhat.com> Signed-off-by: Eric Blake --- qemu-nbd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'qemu-nbd.c') diff --git a/qemu-nbd.c b/qemu-nbd.c index 99377a3..a8cb39e 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -1004,10 +1004,11 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); } else if (pid == 0) { close(stderr_fd[0]); + + old_stderr = dup(STDERR_FILENO); ret = qemu_daemon(1, 0); /* Temporarily redirect stderr to the parent's pipe... */ - old_stderr = dup(STDERR_FILENO); dup2(stderr_fd[1], STDERR_FILENO); if (ret < 0) { error_report("Failed to daemonize: %s", strerror(errno)); -- cgit v1.1