]> xenbits.xensource.com Git - libvirt.git/commitdiff
Set close-exe on logfile fd, keep monitor FD open
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 23 Jul 2007 18:00:33 +0000 (18:00 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 23 Jul 2007 18:00:33 +0000 (18:00 +0000)
ChangeLog
src/qemu_driver.c

index 829821ac534235713d50ca54cdb8da114b01d691..8ca9d994b772ab5f81015e5911273e695798e085 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jul 23 13:59:12 EST 2007 Daniel P. Berrange <berrange@redhat.com>
+
+       * 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 <veillard@redhat.com>
 
        * docs/virsh.pod virsh.1: update to document VIRSH_DEFAULT_CONNECT_URI
index c207516b7bdb272e1f5782762a88851a55d9370f..0f0b7ea95e4fd656bb6a8e02c6a0eb2be0e6c29b 100644 (file)
@@ -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);