]> xenbits.xensource.com Git - libvirt.git/commitdiff
event: don't overwrite registration error message
authorEric Blake <eblake@redhat.com>
Tue, 31 Dec 2013 14:09:23 +0000 (07:09 -0700)
committerEric Blake <eblake@redhat.com>
Thu, 2 Jan 2014 12:54:53 +0000 (05:54 -0700)
Prior to this patch, an attempt to register an event without an
event loop started results in the vague:

libvirt: Remote Driver error : adding cb to list

Now it gives the much nicer:

libvirt:  error : internal error: could not initialize domain event timer

This also avoids hiding other reasonable error messages, such as
attempts to register a duplicate callback or OOM errors.

* src/remote/remote_driver.c (remoteConnectNetworkEventRegisterAny)
(remoteConnectDomainEventRegister)
(remoteConnectDomainEventRegisterAny): Preserve more detailed error.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/remote/remote_driver.c

index be282d6dfc33d79ab8e2d5b6a9d2a98813508580..b952e57bb5ffd0ff70b09801a9d504c4fbd266c5 100644 (file)
@@ -2,7 +2,7 @@
  * remote_driver.c: driver to provide access to libvirtd running
  *   on a remote machine
  *
- * Copyright (C) 2007-2013 Red Hat, Inc.
+ * Copyright (C) 2007-2014 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -2932,10 +2932,8 @@ remoteConnectNetworkEventRegisterAny(virConnectPtr conn,
                                                 net, eventID,
                                                 VIR_OBJECT_EVENT_CALLBACK(callback),
                                                 opaque, freecb,
-                                                &callbackID)) < 0) {
-        virReportError(VIR_ERR_RPC, "%s", _("adding cb to list"));
+                                                &callbackID)) < 0)
         goto done;
-    }
 
     /* If this is the first callback for this eventID, we need to enable
      * events on the server */
@@ -4424,10 +4422,8 @@ static int remoteConnectDomainEventRegister(virConnectPtr conn,
     remoteDriverLock(priv);
 
     if ((count = virDomainEventStateRegister(conn, priv->domainEventState,
-                                             callback, opaque, freecb)) < 0) {
-         virReportError(VIR_ERR_RPC, "%s", _("adding cb to list"));
+                                             callback, opaque, freecb)) < 0)
          goto done;
-    }
 
     if (count == 1) {
         /* Tell the server when we are the first callback deregistering */
@@ -5234,10 +5230,8 @@ static int remoteConnectDomainEventRegisterAny(virConnectPtr conn,
                                                priv->domainEventState,
                                                dom, eventID,
                                                callback, opaque, freecb,
-                                               &callbackID)) < 0) {
-        virReportError(VIR_ERR_RPC, "%s", _("adding cb to list"));
+                                               &callbackID)) < 0)
         goto done;
-    }
 
     /* If this is the first callback for this eventID, we need to enable
      * events on the server */