[Libvirt-cim] [PATCH 1 of 2] Initialize libvirt early so that we avoid the backend register race

Dan Smith danms at us.ibm.com
Thu Nov 15 18:28:35 UTC 2007


# HG changeset patch
# User Dan Smith <danms at us.ibm.com>
# Date 1195154883 28800
# Node ID ecc46606e90388217b94916c1eab2ceeb051064a
# Parent  670294145fcc1a786594f5110e2248cd4ec0b7ed
Initialize libvirt early so that we avoid the backend register race

This fixes the errant behavior we see with parallel calls to
connect_by_classname().  This behavior was certainly possible with lv_connect(),
but I imagine we were getting lucky most of the time.

Signed-off-by: Dan Smith <danms at us.ibm.com>

diff -r 670294145fcc -r ecc46606e903 src/Virt_ComputerSystem.c
--- a/src/Virt_ComputerSystem.c	Wed Nov 14 16:18:00 2007 -0800
+++ b/src/Virt_ComputerSystem.c	Thu Nov 15 11:28:03 2007 -0800
@@ -688,7 +688,7 @@ Virt_ComputerSystemProvider_Create_Insta
                                               const CMPIContext *,
                                               CMPIStatus *rc);
 
-CMInstanceMIStub(, Virt_ComputerSystemProvider, _BROKER, CMNoHook);
+CMInstanceMIStub(, Virt_ComputerSystemProvider, _BROKER, virInitialize());
 
 static struct method_handler RequestStateChange = {
         .name = "RequestStateChange",




More information about the Libvirt-cim mailing list