From: Daniel P. Berrange Date: Mon, 23 Jul 2007 18:00:33 +0000 (+0000) Subject: Set close-exe on logfile fd, keep monitor FD open X-Git-Tag: LIBVIRT_0_3_1~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce19db8990ee371b059536a410673c2e638025e6;p=thirdparty%2Flibvirt.git Set close-exe on logfile fd, keep monitor FD open --- 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);