On Fri, Nov 04, 2011 at 11:42:00AM +0800, huachao yao wrote: > Hi buddy, > I wanna to monitor a domain's life cycle event, so i register a event an a > > virConnectDomainEventCallback, the code segment is as below: > > ------------------------ > int DomainEventCallback(virConnectPtr conn, > virDomainPtr dom, > int event, > int detail, > void * opaque){ > /*My code */ > ....... > } > > int main(){ > > /* .....*/ > virDomainPtr dom = domain.getDomains("xp"); > virFreeCallback freecb = NULL; > void *opaque =NULL; > virConnectDomainEventCallback cb =DomainEventCallback; > virConnectDomainEventRegisterAny(conn, dom, > VIR_DOMAIN_EVENT_ID_LIFECYCLE, > VIR_DOMAIN_EVENT_CALLBACK(cb),opaque,freecb); > /* .....*/ > } > > but such a error happened: > libvir: Remote error : this function is not supported by the > connection driver: no event support > > and the libvirt version is 0.9; the driver is QEMU-KVM ,version is 0.14.0. > > I want to know why this Error will happen? Is the QEMU not support the > LIFECYCLE Event ? If it is , how can i monitor the domain's life cycle > event( such as started,defined and stopped..) This means you have not registered any event loop implementation. Take a look at examples/domain-events/events-c/event-test.c for a good example of how to deal with the events APIs. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|