Il 16/04/2013 11:15, Gerd Hoffmann ha scritto:
> On 04/10/13 15:23, 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.
> 
> I get freezes now in master, bisecting points to this patch.
> 
> Reproducer: "qemu -serial pty".
> 
> qemu is pretty much unusable with libvirt now as libvirt uses pty
> chardevs by default for serial & monitor ...

I'm not sure why all users of qemu_chr_fe_add_watch believe that the
watch will be one-shot.  This is definitely not what g_io_create_watch
does...

Paolo


Reply via email to