qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu-char: another io_add_watch_poll fix


From: Amit Shah
Subject: Re: [Qemu-devel] [PATCH] qemu-char: another io_add_watch_poll fix
Date: Wed, 10 Apr 2013 23:29:34 +0530

On (Wed) 10 Apr 2013 [15:23:27], Paolo Bonzini wrote:
> After attaching the source, we have to remove the reference we hold
> to it, because we do not hold anymore a pointer to the source.
> 
> If we do not do this, removing the source will not finalize it and
> will not drop the "real" I/O watch source.
> 
> This showed up when backporting the new flow control patches to older
> versions of QEMU that still used select.  The whole select then failed
> with EBADF (poll instead will reporting POLLNVAL on a single pollfd)
> and QEMU froze.

This patch doesn't apply directly to master, applies with some fuzz.
However, this patch causes qemu freeze.  My testcase is:

Open chardev on host
Write something to a virtserialport in guest
Close chardev on host
Keep writing to virtserialport in guest

When I apply the patch to the old qemu version with select, that
starts working fine with the testcase above.

There's a slight difference in my old qemu tree, I have Hans's
"virtio-console: Remove any pending watches on close" patch applied,
which makes use of the tag obtained on adding the watch.  That patch
hasn't found its way to master yet, but it should go in soon.

                Amit



reply via email to

[Prev in Thread] Current Thread [Next in Thread]