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 :|