diff --git a/ChangeLog b/ChangeLog index 829821ac534235713d50ca54cdb8da114b01d691..8ca9d994b772ab5f81015e5911273e695798e085 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 c207516b7bdb272e1f5782762a88851a55d9370f..0f0b7ea95e4fd656bb6a8e02c6a0eb2be0e6c29b 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);