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

Re: [libvirt] [PATCH 1/8] remote: Don't lose track of events when callbacks are slow



On 01/10/2011 10:38 AM, Cole Robinson wrote:
> After the remote driver runs an event callback, it unconditionally disables the
> loop timer, thinking it just flushed every queued event. This doesn't work
> correctly though if an event is queued while a callback is running.
> 
> The events actually aren't being lost, it's just that the event loop didn't
> think there was anything that needed to be dispatched. So all those 'lost
> events' should actually get re-triggered if you manually kick the loop by
> generating a new event (like creating a new guest).
> 
> The solution is to disable the dispatch timer _before_ we invoke any event
> callbacks. Events queued while a callback is running will properly reenable the
> timer.

ACK.  Matches the order in src/qemu/qemu_driver.c:qemuDomainEventFlush.

-- 
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


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