On Tue, Nov 03, 2009 at 02:49:58PM -0500, Daniel P. Berrange wrote: > The qemu_driver.c code should not contain any code that interacts > with the QEMU monitor at a low level. A previous commit moved all > the command invocations out. This change moves out the code which > actually opens the monitor device. [...] > +static int > +qemuConnectMonitor(virDomainObjPtr vm, int reconnect) > +{ > + int rc; > + if ((rc = qemuMonitorOpen(vm, reconnect)) != 0) { > + VIR_ERROR(_("Failed to connect monitor for %s: %d\n"), > + vm->def->name, rc); > + return -1; > + } > > -static int qemudOpenMonitor(virConnectPtr conn, > - virDomainObjPtr vm, > - int reconnect); > + if ((vm->monitorWatch = virEventAddHandle(vm->monitor, > + VIR_EVENT_HANDLE_HANGUP | VIR_EVENT_HANDLE_ERROR, > + qemudDispatchVMEvent, Let's try to keep at 80 columns, even if we don't reindent exactly under the opening brace [...] > +static int > +qemuMonitorReadOutput(virDomainObjPtr vm, > + int fd, > + char *buf, > + size_t buflen, > + qemuMonitorHandleOutput func, > + const char *what, > + int timeout) > +{ [...] > + if (errno != EAGAIN) { > + virReportSystemError(NULL, errno, > + _("Failure while reading %s startup output"), > + what); > + return -1; > + } > + > + ret = poll(&pfd, 1, timeout); > + if (ret == 0) { > + qemudReportError(NULL, NULL, NULL, VIR_ERR_INTERNAL_ERROR, > + _("Timed out while reading %s startup output"), what); > + return -1; > + } else if (ret == -1) { > + if (errno != EINTR) { > + virReportSystemError(NULL, errno, > + _("Failure while reading %s startup output"), > + what); > + return -1; > + } > + } else { > + /* Make sure we continue loop & read any further data > + available before dealing with EOF */ > + if (pfd.revents & (POLLIN | POLLHUP)) > + continue; > + > + qemudReportError(NULL, NULL, NULL, VIR_ERR_INTERNAL_ERROR, > + _("Failure while reading %s startup output"), what); > + return -1; same even if we might want to preserve the commit as a pure cut and paste, then let's resize to keep in 80 column as a second commit. [...] > +static int > +qemuMonitorCheckPrompt(virDomainObjPtr vm, > + const char *output, > + int fd) > +{ > + if (strstr(output, "(qemu) ") == NULL) > + return 1; /* keep reading */ just wondering, wouldn't it be safer to try to find the previous end of line too ? ACK ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list