On Wed, Jan 13, 2010 at 03:50:02PM -0500, Cole Robinson wrote:
Signed-off-by: Cole Robinson crobi...@redhat.com
---
po/POTFILES.in |1 +
src/conf/domain_event.c | 36 +---
2 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 1ab0859..c9c78b6 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -4,6 +4,7 @@ daemon/remote.c
daemon/stream.c
src/conf/cpu_conf.c
src/conf/domain_conf.c
+src/conf/domain_event.c
src/conf/interface_conf.c
src/conf/network_conf.c
src/conf/node_device_conf.c
diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c
index 0fa2822..72f499c 100644
--- a/src/conf/domain_event.c
+++ b/src/conf/domain_event.c
@@ -26,6 +26,13 @@
#include logging.h
#include datatypes.h
#include memory.h
+#include virterror_internal.h
+
+#define VIR_FROM_THIS VIR_FROM_NONE
+
+#define eventReportError(conn, code, fmt...)\
+virReportErrorHelper(conn, VIR_FROM_THIS, code, __FILE__, \
+ __FUNCTION__, __LINE__, fmt)
/**
@@ -87,6 +94,9 @@ virDomainEventCallbackListRemove(virConnectPtr conn,
return 0;
}
}
+
+eventReportError(conn, VIR_ERR_INTERNAL_ERROR, %s,
+ _(could not find event callback for removal));
return -1;
}
@@ -140,6 +150,9 @@ int virDomainEventCallbackListMarkDelete(virConnectPtr
conn,
return 0;
}
}
+
+eventReportError(conn, VIR_ERR_INTERNAL_ERROR, %s,
+ _(could not find event callback for deletion));
return -1;
}
@@ -199,13 +212,14 @@ virDomainEventCallbackListAdd(virConnectPtr conn,
for (n=0; n cbList-count; n++) {
if(cbList-callbacks[n]-cb == callback
conn == cbList-callbacks[n]-conn) {
-DEBUG0(WARNING: Callback already tracked);
+eventReportError(conn, VIR_ERR_INTERNAL_ERROR, %s,
+ _(event callback already tracked));
return -1;
}
}
/* Allocate new event */
if (VIR_ALLOC(event) 0) {
-DEBUG0(Error allocating event);
+virReportOOMError(conn);
return -1;
}
event-conn = conn;
@@ -216,7 +230,7 @@ virDomainEventCallbackListAdd(virConnectPtr conn,
/* Make space on list */
n = cbList-count;
if (VIR_REALLOC_N(cbList-callbacks, n + 1) 0) {
-DEBUG0(Error reallocating list);
+virReportOOMError(conn);
VIR_FREE(event);
return -1;
}
@@ -242,8 +256,10 @@ virDomainEventQueuePtr virDomainEventQueueNew(void)
{
virDomainEventQueuePtr ret;
-if (VIR_ALLOC(ret) 0)
+if (VIR_ALLOC(ret) 0) {
+virReportOOMError(NULL);
return NULL;
+}
return ret;
}
@@ -254,12 +270,15 @@ virDomainEventPtr virDomainEventNew(int id, const char
*name,
{
virDomainEventPtr event;
-if (VIR_ALLOC(event) 0)
+if (VIR_ALLOC(event) 0) {
+virReportOOMError(NULL);
return NULL;
+}
event-type = type;
event-detail = detail;
if (!(event-name = strdup(name))) {
+virReportOOMError(NULL);
VIR_FREE(event);
return NULL;
}
@@ -318,8 +337,11 @@ virDomainEventQueuePop(virDomainEventQueuePtr evtQueue)
{
virDomainEventPtr ret;
-if(!evtQueue || evtQueue-count == 0 )
+if (!evtQueue || evtQueue-count == 0 ) {
+eventReportError(NULL, VIR_ERR_INTERNAL_ERROR, %s,
+ _(event queue is empty, nothing to pop));
return NULL;
+}
ret = evtQueue-events[0];
@@ -357,7 +379,7 @@ virDomainEventQueuePush(virDomainEventQueuePtr evtQueue,
/* Make space on queue */
if (VIR_REALLOC_N(evtQueue-events,
evtQueue-count + 1) 0) {
-DEBUG0(Error reallocating queue);
+virReportOOMError(NULL);
return -1;
}
--
ACK
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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list