From ce19db8990ee371b059536a410673c2e638025e6 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Mon, 23 Jul 2007 18:00:33 +0000 Subject: [PATCH] Set close-exe on logfile fd, keep monitor FD open --- ChangeLog | 5 +++++ src/qemu_driver.c | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index 829821ac53..8ca9d994b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 23 13:59:12 EST 2007 Daniel P. Berrange + + * src/qemu_driver.c: keep monitor filehandle open, and set + close-on-exec flag for logfiles. + Mon Jul 23 11:36:12 CEST 2007 Daniel Veillard * docs/virsh.pod virsh.1: update to document VIRSH_DEFAULT_CONNECT_URI diff --git a/src/qemu_driver.c b/src/qemu_driver.c index c207516b7b..0f0b7ea95e 100644 --- a/src/qemu_driver.c +++ b/src/qemu_driver.c @@ -456,6 +456,11 @@ static int qemudOpenMonitor(virConnectPtr conn, buf, sizeof(buf), qemudCheckMonitorPrompt, "monitor"); + + /* Keep monitor open upon success */ + if (ret == 0) + return ret; + error: close(monfd); return ret; @@ -617,6 +622,14 @@ static int qemudStartVMDaemon(virConnectPtr conn, logfile, strerror(errno)); return -1; } + if (qemudSetCloseExec(vm->logfile) < 0) { + qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR, + "Unable to set VM logfile close-on-exec flag %s", + strerror(errno)); + close(vm->logfile); + vm->logfile = -1; + return -1; + } if (qemudBuildCommandLine(conn, driver, vm, &argv) < 0) { close(vm->logfile);