aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Pour <raphael.pour@hetzner.com>2020-05-15 08:36:07 +0200
committerMichael Roth <mdroth@linux.vnet.ibm.com>2020-06-09 21:34:47 -0500
commitad56aecb2101ce751e2e2f39afb60682045068a1 (patch)
tree52a8de37fcb523d716c9fe44909d7aeaf55f9d67
parentd5691a6373a4998b69c234bddacdf74b40a422fd (diff)
qemu-nbd: Close inherited stderr
Close inherited stderr of the parent if fork_process is false. Otherwise no one will close it. (introduced by e6df58a5) This only affected 'qemu-nbd -c /dev/nbd0'. Signed-off-by: Raphael Pour <raphael.pour@hetzner.com> Message-Id: <d8ddc993-9816-836e-a3de-c6edab9d9c49@hetzner.com> Reviewed-by: Eric Blake <eblake@redhat.com> [eblake: Enhance commit message] Signed-off-by: Eric Blake <eblake@redhat.com> (cherry picked from commit 0eaf453ebf6788885fbb5d40426b154ef8805407) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--qemu-nbd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 108a51f7eb..38031310af 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -1022,7 +1022,11 @@ int main(int argc, char **argv)
} else if (pid == 0) {
close(stderr_fd[0]);
- old_stderr = dup(STDERR_FILENO);
+ /* Remember parent's stderr if we will be restoring it. */
+ if (fork_process) {
+ old_stderr = dup(STDERR_FILENO);
+ }
+
ret = qemu_daemon(1, 0);
/* Temporarily redirect stderr to the parent's pipe... */