[libvirt] [PATCH] remote: daemon: Make sure that JSON symbols are properly loaded at startup

Peter Krempa pkrempa at redhat.com
Wed Aug 1 10:53:24 UTC 2018


Explicitly call virJSONInitialize at startup of the libvirt daemon so
that we are sure that the symbols in the compat library are properly
loaded. This will prevent any random failure from happening later on
when the daemon would want to use the JSON parser.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/libvirt_private.syms   | 4 ++++
 src/remote/remote_daemon.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index fc386e1699..70dfcc5e29 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2135,6 +2135,10 @@ virJSONValueObjectStealObject;
 virJSONValueToString;


+# util/virjsoncompat.h
+virJSONInitialize;
+
+
 # util/virkeycode.h
 virKeycodeSetTypeFromString;
 virKeycodeSetTypeToString;
diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c
index 9f3a5f38ad..8bbc3818bb 100644
--- a/src/remote/remote_daemon.c
+++ b/src/remote/remote_daemon.c
@@ -59,6 +59,7 @@
 #include "virutil.h"
 #include "virgettext.h"
 #include "util/virnetdevopenvswitch.h"
+#include "virjsoncompat.h"

 #include "driver.h"

@@ -1183,6 +1184,9 @@ int main(int argc, char **argv) {
         exit(EXIT_FAILURE);
     }

+    if (virJSONInitialize() < 0)
+        exit(EXIT_FAILURE);
+
     daemonSetupNetDevOpenvswitch(config);

     if (daemonSetupAccessManager(config) < 0) {
-- 
2.16.2




More information about the libvir-list mailing list