Hi,
On 08/07/2011 05:52 PM, Anthony Liguori wrote:
On 08/07/2011 08:21 AM, Hans de Goede wrote:
To let the chardev now we're ready start receiving data. This is necessary
with the spicevmc chardev to get it registered with the spice-server.
Signed-off-by: Hans de Goede<hdego...@redhat.com>
---
usb-redir.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/usb-redir.c b/usb-redir.c
index e212993..ec88c0b 100644
--- a/usb-redir.c
+++ b/usb-redir.c
@@ -809,6 +809,8 @@ static int usbredir_initfn(USBDevice *udev)
qemu_chr_add_handlers(dev->cs, usbredir_chardev_can_read,
usbredir_chardev_read, usbredir_chardev_event, dev);
+ /* Let the other side know we are ready */
+ qemu_chr_guest_open(dev->cs);
You should do guest_open before adding handlers.
Erm, no, guest_open may lead to a callback in the
chardev, to which it may respond by immediately queuing a few writes /
doing a read. To me it makes much more sense to actually call guest_open
when we are ready to receive data / to be read from, rather then to do
it before our handlers are hooked up and thus before we are ready.
Regards,
Hans