1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-02-07 05:57:30 +03:00
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 fa9595003d043df9f2efe95521c008
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
2011-12-01 14:12:59 -07:00
2011-12-01 16:08:34 -07:00
2011-11-30 11:36:09 -07:00
2011-12-01 14:12:59 -07:00
2011-12-01 14:12:59 -07:00
2011-12-01 14:12:59 -07:00
2011-12-01 16:55:47 -07:00
2011-11-24 11:44:08 +01:00
2009-07-08 16:17:51 +02:00
2011-11-30 12:38:17 -07:00
2011-10-13 09:21:02 -06:00
2011-11-09 09:03:33 -07:00
2011-08-19 07:20:10 -06:00
2011-12-01 14:12:59 -07:00
2009-07-16 15:06:42 +02:00

         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>
Description
Libvirt native C API and daemons
Readme 675 MiB
Languages
C 94.8%
Python 2%
Meson 0.9%
Shell 0.8%
Dockerfile 0.6%
Other 0.8%