<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-IN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal">I am using libvirt api to create an app, I am facing a problem.<o:p></o:p></p>
<p class="MsoNormal">I can connect to connection object 20 number of times in programm after that it gives connection object null.<o:p></o:p></p>
<p class="MsoNormal">Here is the sample code. <o:p></o:p></p>
<p class="MsoNormal"><b><o:p> </o:p></b></p>
<p class="MsoNormal"><b>Normally code should run 1000 times but it only runs 20 times<o:p></o:p></b></p>
<p class="MsoNormal"><b>Filename: list.cpp<o:p></o:p></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#include<pthread.h><o:p></o:p></p>
<p class="MsoNormal">#include<stdlib.h><o:p></o:p></p>
<p class="MsoNormal">#include<stdio.h><o:p></o:p></p>
<p class="MsoNormal">#include<malloc.h><o:p></o:p></p>
<p class="MsoNormal">#include <iostream><o:p></o:p></p>
<p class="MsoNormal">#include<string.h><o:p></o:p></p>
<p class="MsoNormal">#include <libvirt/libvirt.h><o:p></o:p></p>
<p class="MsoNormal">#include <libvirt/virterror.h><o:p></o:p></p>
<p class="MsoNormal">static int count;<o:p></o:p></p>
<p class="MsoNormal">    static void customErrorFunc(void *userdata, virErrorPtr err)<o:p></o:p></p>
<p class="MsoNormal">    {<o:p></o:p></p>
<p class="MsoNormal">    }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">int main()<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    virConnectPtr conn;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  for ( int i=0; i< 1000;i++)<o:p></o:p></p>
<p class="MsoNormal">  {<o:p></o:p></p>
<p class="MsoNormal">     conn = virConnectOpen("qemu:///system");<o:p></o:p></p>
<p class="MsoNormal">     if (conn == NULL) {<o:p></o:p></p>
<p class="MsoNormal">        fprintf(stderr, "Failed to open connection to qemu:///system\n");<o:p></o:p></p>
<p class="MsoNormal">        printf("Failed to open connection to qemu:///system\n");<o:p></o:p></p>
<p class="MsoNormal">        virConnectClose(conn);<o:p></o:p></p>
<p class="MsoNormal">        return NULL;<o:p></o:p></p>
<p class="MsoNormal">        }<o:p></o:p></p>
<p class="MsoNormal">        printf("Hello %d\n",i);<o:p></o:p></p>
<p class="MsoNormal">        virError err;<o:p></o:p></p>
<p class="MsoNormal">        virSetErrorFunc(NULL, customErrorFunc);<o:p></o:p></p>
<p class="MsoNormal">        int j;<o:p></o:p></p>
<p class="MsoNormal">        int numDomains1,numDomains2,numDomains;<o:p></o:p></p>
<p class="MsoNormal">        int *activeDomains;<o:p></o:p></p>
<p class="MsoNormal">        numDomains1 = virConnectNumOfDomains(conn);<o:p></o:p></p>
<p class="MsoNormal">        activeDomains = (int*)malloc(sizeof(int) * numDomains1);<o:p></o:p></p>
<p class="MsoNormal">        numDomains1 = virConnectListDomains(conn, activeDomains, numDomains1);<o:p></o:p></p>
<p class="MsoNormal">        for (int j = 0 ; j < numDomains1 ; j++)<o:p></o:p></p>
<p class="MsoNormal">        {<o:p></o:p></p>
<p class="MsoNormal">                virDomainPtr dom;<o:p></o:p></p>
<p class="MsoNormal">                dom = virDomainLookupByID(conn,activeDomains[j]);<o:p></o:p></p>
<p class="MsoNormal">                free(dom);<o:p></o:p></p>
<p class="MsoNormal">        }<o:p></o:p></p>
<p class="MsoNormal">        free(activeDomains);<o:p></o:p></p>
<p class="MsoNormal">        count--;<o:p></o:p></p>
<p class="MsoNormal">        virConnectClose(conn);<o:p></o:p></p>
<p class="MsoNormal">   }<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Output: <o:p></o:p></p>
<p class="MsoNormal">Hello 0<o:p></o:p></p>
<p class="MsoNormal">Hello 1<o:p></o:p></p>
<p class="MsoNormal">Hello 2<o:p></o:p></p>
<p class="MsoNormal">Hello 3<o:p></o:p></p>
<p class="MsoNormal">Hello 4<o:p></o:p></p>
<p class="MsoNormal">Hello 5<o:p></o:p></p>
<p class="MsoNormal">Hello 6<o:p></o:p></p>
<p class="MsoNormal">Hello 7<o:p></o:p></p>
<p class="MsoNormal">Hello 8<o:p></o:p></p>
<p class="MsoNormal">Hello 9<o:p></o:p></p>
<p class="MsoNormal">Hello 10<o:p></o:p></p>
<p class="MsoNormal">Hello 11<o:p></o:p></p>
<p class="MsoNormal">Hello 12<o:p></o:p></p>
<p class="MsoNormal">Hello 13<o:p></o:p></p>
<p class="MsoNormal">Hello 14<o:p></o:p></p>
<p class="MsoNormal">Hello 15<o:p></o:p></p>
<p class="MsoNormal">Hello 16<o:p></o:p></p>
<p class="MsoNormal">Hello 17<o:p></o:p></p>
<p class="MsoNormal">Hello 18<o:p></o:p></p>
<p class="MsoNormal">Hello 19<o:p></o:p></p>
<p class="MsoNormal">Failed to open connection to qemu:///system<o:p></o:p></p>
<p class="MsoNormal">Failed to open connection to qemu:///system<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Can any one tell me where I am going wrong.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-IN">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-IN">Pankaj Rawat<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="mso-fareast-language:EN-IN">NECHCL ST<o:p></o:p></span></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>


<pre>

DISCLAIMER:

-----------------------------------------------------------------------------------------------------------------------

The contents of this e-mail and any attachment(s) are confidential and
intended

for the named recipient(s) only. 

It shall not attach any liability on the originator or NECHCL or its

affiliates. Any views or opinions presented in 

this email are solely those of the author and may not necessarily reflect the

opinions of NECHCL or its affiliates. 

Any form of reproduction, dissemination, copying, disclosure, modification,

distribution and / or publication of 

this message without the prior written consent of the author of this e-mail is

strictly prohibited. If you have 

received this email in error please delete it and notify the sender

immediately. .

-----------------------------------------------------------------------------------------------------------------------</pre>