[libvirt] PATCH: 0/4: Fix the event loop (again) no really, this time its fixed.

Mark McLoughlin markmc at redhat.com
Mon May 11 11:47:38 UTC 2009


On Mon, 2009-05-11 at 12:11 +0100, Daniel P. Berrange wrote:
> Back in March I attempted to fix the event loop handling of deleted file
> handles
> 
> http://www.redhat.com/archives/libvir-list/2009-March/msg00246.html
> 
> but have merely succeeded in screwing it up in a different fun & exciting
> way. That patch fixed a case where there was a deleted file handle in the
> list at the time virEventRunOnce() starts. Which was nice. Not nice, though
> was that it then breaks the case where a file handle is deleted during the
> course of dispatching events afer poll(). Investigating this also identified
> that when we were marking a file handle as deleted, we were forgetting to
> run virEventInterrupt(), which meant that in some cases the main thread
> would not be woken up until the next event triggers. Not very critical,
> but at the same time, not good  because it delays cleanup & release of
> resources.
> 
> This series of patches fixes the problems, and more importantly, adds a
> unit test which cover these nasty edge cases.

It's not obvious to me from your description, so for others, one of the
problems these patches fix is where destroying one running guest can
cause another to also be destroyed:

  https://bugzilla.redhat.com/499698

Cheers,
Mark.




More information about the libvir-list mailing list