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

Daniel P. Berrange berrange at redhat.com
Mon May 11 11:11:57 UTC 2009


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.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list