On Tue, Nov 03, 2009 at 02:50:04PM -0500, Daniel P. Berrange wrote: > Change the QEMU monitor file handle watch to poll for both > read & write events, as well as EOF. All I/O to/from the > QEMU monitor FD is now done in the event callback thread. > > When the QEMU driver needs to send a command, it puts the > data to be sent into a qemuMonitorMessagePtr object instance, > queues it for dispatch, and then goes to sleep on a condition > variable. The event thread sends all the data, and then waits > for the reply to arrive, putting the response / error data > back into the qemuMonitorMessagePtr and notifying the condition > variable. > > * src/qemu/qemu_driver.c: XXX this change shouldn't be here > * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Remove > raw I/O functions, and a generic qemuMonitorSend() for > invoking a command > * src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: > Remove all low level I/O, and use the new qemuMonitorSend() > API. Provide a qemuMonitorTextIOProcess() method for detecting > command/reply/prompt boundaries in the monitor data stream I tried to review it, but honnestly I can't keep up, it's getting too complex. But I don't want to block, 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