Re: [PATCH] qemuDomainChangeEjectableMedia: Unlock domain while waiting for event

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

 



On 05/20/2013 11:41 AM, Michal Privoznik wrote:
> In 84c59ffa I've tried to fix changing ejectable media process. The
> process should go like this:
> 
> 1) we need to call 'eject' on the monitor
> 2) we should wait for 'DEVICE_TRAY_MOVED' event
> 3) now we can issue 'change' command
> 
> However, while waiting in step 2) the domain monitor was locked. So
> even if qemu reported the desired event, the proper callback was not
> called immediately. The monitor handling code needs to lock the
> monitor in order to read the event. So that's the first lock we must
> not hold while waiting. The second one is the domain lock. When
> monitor handling code reads an event, the appropriate callback is
> called then. The first thing that each callback does is locking the
> corresponding domain as a domain or its device is about to change
> state. So we need to unlock both monitor and VM lock. Well, holding
> any lock while sleep()-ing is not the best thing to do anyway.
> ---
>  src/qemu/qemu_hotplug.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 

ACK.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]