Fix the example code for event handling in C

* examples/domain-events/events-c/event-test.c: fixed the example
  code for event handling, patch by Pritesh Kothari
daniel
This commit is contained in:
Daniel Veillard 2009-05-25 09:44:10 +00:00
parent 107a7bd06b
commit a76e46044d
2 changed files with 44 additions and 34 deletions

View File

@ -1,3 +1,8 @@
Mon May 25 11:42:15 CEST 2009 Daniel Veillard <veillard@redhat.com>
* examples/domain-events/events-c/event-test.c: fixed the example
code for event handling, patch by Pritesh Kothari
Thu May 21 15:22:22 BST 2009 Daniel P. Berrange <berrange@redhat.com>
Test case for QEMU driver ARGV -> XML conversion

View File

@ -116,7 +116,7 @@ static const char *eventDetailToString(int event, int detail) {
break;
case VIR_DOMAIN_EVENT_SUSPENDED:
if (detail == VIR_DOMAIN_EVENT_SUSPENDED_PAUSED)
ret = "Unpaused";
ret = "Paused";
else if (detail == VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED)
ret = "Migrated";
break;
@ -291,6 +291,8 @@ static void stop(int sig)
int main(int argc, char **argv)
{
int sts;
int callback1ret = -1;
int callback2ret = -1;
struct sigaction action_stop = {
.sa_handler = stop
};
@ -320,11 +322,12 @@ int main(int argc, char **argv)
DEBUG0("Registering domain event cbs");
/* Add 2 callbacks to prove this works with more than just one */
virConnectDomainEventRegister(dconn, myDomainEventCallback1,
callback1ret = virConnectDomainEventRegister(dconn, myDomainEventCallback1,
strdup("callback 1"), myFreeFunc);
virConnectDomainEventRegister(dconn, myDomainEventCallback2,
callback2ret = virConnectDomainEventRegister(dconn, myDomainEventCallback2,
strdup("callback 2"), myFreeFunc);
if ((callback1ret == 0) && (callback2ret == 0) ) {
while(run) {
struct pollfd pfd = { .fd = h_fd,
.events = h_event,
@ -362,6 +365,8 @@ int main(int argc, char **argv)
virConnectDomainEventDeregister(dconn, myDomainEventCallback1);
virConnectDomainEventDeregister(dconn, myDomainEventCallback2);
}
DEBUG0("Closing connection");
if( dconn && virConnectClose(dconn)<0 ) {
printf("error closing\n");