qemu/include
Paolo Bonzini 74892d2468 vl: allow other threads to do qemu_system_vmstop_request
There patch protects vmstop_requested with a lock and introduces
qemu_system_vmstop_request_prepare.

Together with the new call to qemu_vmstop_requested in vm_start,
qemu_system_vmstop_request_prepare avoids a race where the VM could remain
stopped even though the iostatus of a block device has already been set
(for example).

qemu_system_vmstop_request_prepare however also lets the caller thread
delay observation of the state change until it has itself communicated
that change to the user.  This delay avoids any possibility of a wrong
reordering of the BLOCK_IO_ERROR event and the subsequent STOP event.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-06-23 16:36:13 +08:00
..
block scsi: Print command name in debug 2014-06-18 08:47:10 +02:00
disas disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
exec hostmem: add property to map memory with MAP_SHARED 2014-06-19 18:44:20 +03:00
fpu softfloat: Introduce float32_to_uint64_round_to_zero 2014-04-08 11:20:00 +02:00
hw Merge remote-tracking branch 'remotes/kvm/uq/master' into staging 2014-06-20 19:25:18 +01:00
libdecnumber libdecnumber: Introduce decNumberIntegralToInt64 2014-06-16 13:24:29 +02:00
migration migration: introduce self_announce_delay() 2014-06-19 16:41:54 +03:00
monitor qmp: add ACPI_DEVICE_OST event handling 2014-06-19 18:44:22 +03:00
net Add new vhost-user netdev backend 2014-06-19 16:41:57 +03:00
qapi purge error_is_set() 2014-05-22 18:14:01 +01:00
qemu pc,pci,virtio,hotplug fixes, enhancements 2014-06-20 18:01:24 +01:00
qom qom: introduce object_property_get_enum and object_property_get_uint16List 2014-06-19 18:44:19 +03:00
sysemu vl: allow other threads to do qemu_system_vmstop_request 2014-06-23 16:36:13 +08:00
ui spice: add mouse cursor support 2014-06-13 12:34:57 +02:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h target-ppc: Support little-endian PPC64 in user mode. 2014-06-16 13:24:40 +02:00
glib-compat.h glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
qemu-common.h util: add return value to qemu_iovec_concat_iov 2014-06-18 08:47:10 +02:00
qemu-io.h qemu-io: Fix warnings from static code analysis 2014-03-13 14:42:24 +01:00
trace.h build: some simplifications for "trace/Makefile.objs" 2013-01-12 18:42:51 +01:00