Re: deadlock on connection loosing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



В письме от Понедельник, 08-июл-2013 22:20:12 пользователь Александр написал:
> В письме от Понедельник, 08-июл-2013 14:39:57 Вы написали:
> > On 07.07.2013 01:53, Александр wrote:
> > > В письме от Воскресенье, 30-июн-2013 03:41:37 пользователь Александр
> 
> написал:
> > >> В письме от Вторник, 25-июн-2013 11:47:10 пользователь Michal Privoznik
> > 
> > ....
> > 
> > > i have found source of problem, my code looks like this:
> > > 
> > > int count = virConnectListAllDomains(connection, NULL, 0);
> > > ....
> > > domain = virDomainDefineXML(connection, d.write_to_string().c_str());
> > > 
> > > 
> > > call to virConnectListAllDomains always cause libvirt deadlock.
> > > 
> > > and another question, is here exists any other way to determinate number
> > > of
> > > persistent domains ?
> > 
> > This code is just a reproducer. Client shouldn't be able to deadlock
> > libvirtd at all. Any API call should be deadlock safe (unless called
> > from a callback). Which reminds me - do you use callbacks?
> > 
> > Michal
> 
> yes, i using callbacks for errors, for now just copypasted example callback
> to print errors
> 
> 
> 
> static void libvirt_error_handler(void *userdata, virErrorPtr err)
> {
> 	fprintf(stderr, "Failure of libvirt library call:\n");
> 	fprintf(stderr, " Code: %d\n", err->code);
> 	fprintf(stderr, " Domain: %d\n", err->domain);
> 	fprintf(stderr, " Message: %s\n", err->message);
> 	fprintf(stderr, " Level: %d\n", err->level);
> 	fprintf(stderr, " str1: %s\n", err->str1);
> 	fprintf(stderr, " str2: %s\n", err->str2);
> 	fprintf(stderr, " str3: %s\n", err->str3);
> 	fprintf(stderr, " int1: %d\n", err->int1);
> 	fprintf(stderr, " int2: %d\n", err->int2);
> }
> 
> int init_libvirt()
> {
> 	virSetErrorFunc(NULL, libvirt_error_handler);
> 	libvirt_connection = virConnectOpen("qemu:///system");
> .....
> 
> 
> i will also check virConnectListAllDomains with correct pointer instead of
> null later, now have some other work to do.

checked virConnectListAllDomains with domains ptr, still locks

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
libvirt-users mailing list
libvirt-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvirt-users

[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux