Go to file
Peter Krempa fd06692544 client: Check if other thread claims it has the buck before claiming it.
Originaly, the code checked if another client is the queue and infered
ownership of the buck from that. Commit fa9595003d
added a separate variable to track the buck. That caused, that a new
call might enter claiming it has the buck, while another thread was
signalled to take the buck. This ends in two threads claiming they hold
the buck and entering poll(). This happens due to a race on waking up
threads on the client lock mutex.

This caused multi-threaded clients to hang, most prominently visible and
reproducible on python based clients, like virt-manager.

This patch causes threads, that have been signalled to take the buck to
re-check if buck is held by another thread.
2011-12-02 14:21:40 +01:00
.gnulib@6b93d00f54 build: update to latest gnulib 2011-12-01 14:12:59 -07:00
daemon maint: typo fixes 2011-12-01 16:08:34 -07:00
docs Support block I/O throttle in XML 2011-11-30 11:36:09 -07:00
examples Update of filters to handle multiple IP addresses 2011-12-01 20:34:36 -05:00
gnulib build: update to latest gnulib 2011-12-01 14:12:59 -07:00
include Fix values of PM target type constants 2011-11-30 10:12:29 +00:00
m4 build: update to latest gnulib 2011-12-01 14:12:59 -07:00
po Add internal APIs for dealing with time 2011-11-30 11:43:49 +00:00
python Support virDomain{Set, Get}BlockIoTune in the python API 2011-11-30 11:36:11 -07:00
src client: Check if other thread claims it has the buck before claiming it. 2011-12-02 14:21:40 +01:00
tests build: update to latest gnulib 2011-12-01 14:12:59 -07:00
tools virsh: translate net-info help 2011-12-01 16:55:47 -07:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore Define keepalive protocol 2011-11-24 11:44:08 +01:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap maint: use mailmap, not AUTHORS, for secondary addresses 2011-11-11 08:56:19 -07:00
AUTHORS Add PPC cpu driver. 2011-11-30 12:38:17 -07:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
HACKING Document STREQ_NULLABLE and STRNEQ_NULLABLE 2011-10-06 16:50:38 +02:00
Makefile.am maint: add missing copyright notices 2011-07-28 15:01:17 -06:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00
autobuild.sh spec: mingw cleanups 2011-10-13 09:21:02 -06:00
autogen.sh build: allow for local gnulib diffs 2011-11-09 09:03:33 -07:00
bootstrap build: fix compilation on mingw64 2011-08-19 07:20:10 -06:00
bootstrap.conf build: allow for local gnulib diffs 2011-11-09 09:03:33 -07:00
cfg.mk build: update to latest gnulib 2011-12-01 14:12:59 -07:00
configure.ac Fix build for platforms lacking struct ifreq 2011-12-01 11:01:49 -07:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in spec: mark directories in /var/run as ghosts 2011-12-01 10:56:10 +08:00
mingw32-libvirt.spec.in Add libvirt confdir to files section in mingw32 spec 2011-11-10 11:30:57 +00:00

README

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>