From: Daniel P. Berrange Date: Mon, 19 Oct 2009 17:28:28 +0000 (+0100) Subject: Fix duplicating logging of errors in libvirtd X-Git-Tag: v0.7.3~157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ab7995871d53634f14d788983659339dc936cba;p=thirdparty%2Flibvirt.git Fix duplicating logging of errors in libvirtd The libvirt default error handling callback will print all errors to stderr. The libvirtd default logging callback will do the same. Set a no-op error handling callback in libvirtd to prevent this duplication * daemon/libvirtd.c: Register a no-op error handling function --- diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index c5f90b5266..0c97010684 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -776,6 +776,12 @@ static int qemudInitPaths(struct qemud_server *server, return ret; } +static void virshErrorHandler(void *opaque ATTRIBUTE_UNUSED, virErrorPtr err ATTRIBUTE_UNUSED) +{ + /* Don't do anything, since logging infrastructure already + * took care of reporting the error */ +} + static struct qemud_server *qemudInitialize(int sigread) { struct qemud_server *server; @@ -2995,6 +3001,9 @@ int main(int argc, char **argv) { if (remoteReadConfigFile (server, remote_config_file) < 0) goto error2; + /* Disable error func, now logging is setup */ + virSetErrorFunc(NULL, virshErrorHandler); + if (virEventAddHandleImpl(sigpipe[0], VIR_EVENT_HANDLE_READABLE, qemudDispatchSignalEvent,