Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Daniel P. Berrange 81621f3e6e Fix race condition when destroying guests
When running virDomainDestroy, we need to make sure that no other
background thread cleans up the domain while we're doing our work.
This can happen if we release the domain object while in the
middle of work, because the monitor might detect EOF in this window.
For this reason we have a 'beingDestroyed' flag to stop the monitor
from doing its normal cleanup. Unfortunately this flag was only
being used to protect qemuDomainBeginJob, and not qemuProcessKill

This left open a race condition where either libvirtd could crash,
or alternatively report bogus error messages about the domain already
having been destroyed to the caller

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2013-01-18 15:45:38 +00:00
.gnulib@61c7b1e32e build: fix build with optimization enabled 2013-01-03 10:12:47 -07:00
build-aux Document bracket whitespace rules & add syntax-check rule 2012-11-02 14:00:32 +00:00
daemon Introduce virTypedParamsClear public API 2013-01-18 15:04:00 +01:00
docs docs: Add some style and color to the HTML documentation 2013-01-18 15:36:38 +01:00
examples examples: Fix balloon event callback 2012-12-11 13:25:50 +01:00
gnulib maint: update to latest gnulib 2013-01-02 09:38:30 -07:00
include Introduce virTypedParamsClear public API 2013-01-18 15:04:00 +01:00
m4 Fix typo LIBCURL_{CFLAGS,LIBS} to CURL_{CFLAGS,LIBS} 2013-01-14 17:22:31 +00:00
po Add a port allocator class 2013-01-16 11:02:58 +00:00
python Introduce virTypedParamsClear public API 2013-01-18 15:04:00 +01:00
src Fix race condition when destroying guests 2013-01-18 15:45:38 +00:00
tests build: fix build on BSD 2013-01-17 16:39:10 -07:00
tools Introduce virTypedParamsClear public API 2013-01-18 15:04:00 +01:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore Add a port allocator class 2013-01-16 11:02:58 +00:00
.gitmodules
.mailmap Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
AUTHORS.in Add Claudio Bley to the committers list 2013-01-08 16:34:30 +01:00
autobuild.sh Switch automated builds to use Mingw64 toolchain instead of Mingw32 2012-06-25 10:41:10 +01:00
autogen.sh build: fix incremental autogen.sh when no AUTHORS is present 2012-12-03 14:59:09 -07:00
bootstrap maint: update to latest gnulib 2013-01-02 09:38:30 -07:00
bootstrap.conf build: use autobuild module to make build logs nicer 2013-01-02 16:43:58 -07:00
cfg.mk Introduce an LXC specific public API & library 2013-01-14 13:58:34 +00:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
configure.ac build: further fixes for broken if_bridge.h 2013-01-14 21:08:23 -07:00
COPYING.LIB
HACKING Add a test suite for validating SELinux labelling 2013-01-14 13:40:04 +00:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in Introduce an LXC specific public API & library 2013-01-14 13:58:34 +00:00
Makefile.am build: Fix AUTHORS generation 2012-12-17 21:17:55 +01:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw-libvirt.spec.in Introduce an LXC specific public API & library 2013-01-14 13:58:34 +00:00
README
README-hacking
run.in Add a virtlockd client as a lock driver impl 2012-12-13 15:26:57 +00:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01: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>