On Tue, Oct 06, 2009 at 07:04:29PM +0200, Dan Kenigsberg wrote: > Would someone help me have a shrink-wrapped solution for obtaining libvirt > events in python? > > I'm looking for a python module with no API calls (or maybe just a few). > > I'd like to register a callback functions with > virConnect.domainEventRegister(), and want them to be called in the > context of a specialized (automatically-created?) thread. I don't mind > if the module has two API calls instead: register() and > startPollThread(). > > I learned that it takes me far too long to do it on my own, and that just > modifying events-python.py (attached) reaches miserable outcomes > ("libvir: Domain error : invalid domain pointer in virDomainFree", and > deadlocked python: > #0 0x00000037fe40d174 in __lll_lock_wait () from /lib64/libpthread.so.0 > #1 0x00000037fe408aca in _L_lock_1034 () from /lib64/libpthread.so.0 > #2 0x00000037fe40898c in pthread_mutex_lock () from /lib64/libpthread.so.0 > #3 0x0000003cce04db84 in remoteDomainEventFired () > #4 0x00002b4cc96e1612 in libvirt_virEventInvokeHandleCallback () > ) > > Help most welcome, After discussions on IRC, it turns out that this is being seen with the libvirt 0.6.3 release, which had known-broken events code in the python bindings. It did not do correct locking, or reference counting. The current libvirt python works with Dan's demo program. 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 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list