On 03/20/2013 11:39 PM, Wenchao Xia wrote: > From cimtest, Calling to virEventRegisterDefaultImpl() of libvirt API, > resulting random fail in cases, which seems most likely tog-pegasus's > internal data is damaged. The root cause may be: > 1 libvirt event API have a bug, we called it from thread A and then > do other things in thread B, maybe it did not handle this well. > 2 tog-pegasus have confilict with libvirt's event. > 3 Potential requirement in libvirt event API or tog-pegasus's thread, > which is not document so we used them in a wrong way. > > Most possible is that tog-pegasus tries to manage all threads > resulting the error. > > This patch bring back libvirt-cim's own old event implemention, which > is by default used now. CSI from libvirt can still be activated with > a macro. > This patch also have changed some buglike code of old libvirt-cim's event > implemention. > Tested with cimtest on following Env, no more strange error found: > RH6.3 > libvirt-0.9.10-21.el6.x86_64 > tog-pegasus-2.11.0-3.el6.x86_64 > > Note that to make review easy, this patch try move the code > as little as possible, a following "clean up" patch will > move the code together. > > Signed-off-by: Wenchao Xia <[email protected]> > --- > src/Virt_ComputerSystem.c | 60 +++- > src/Virt_ComputerSystemIndication.c | 663 > ++++++++++++++++++++++++++++- > src/Virt_VirtualSystemManagementService.c | 57 +++- > 3 files changed, 777 insertions(+), 3 deletions(-) >
ACK John _______________________________________________ Libvirt-cim mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvirt-cim
