Index: src/qemu_driver.c =================================================================== RCS file: /data/cvs/libvirt/src/qemu_driver.c,v retrieving revision 1.8 diff -u -p -r1.8 qemu_driver.c --- src/qemu_driver.c 12 Jul 2007 15:09:01 -0000 1.8 +++ src/qemu_driver.c 19 Jul 2007 00:50:04 -0000 @@ -540,6 +540,11 @@ static int qemudOpenMonitor(virConnectPt buf, sizeof(buf), qemudCheckMonitorPrompt, "monitor"); + + /* Keep monitor open upon success */ + if (ret == 0) + return ret; + error: close(monfd); return ret; @@ -701,6 +706,14 @@ static int qemudStartVMDaemon(virConnect 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);