aboutsummaryrefslogtreecommitdiff
path: root/cpu-defs.h
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2011-02-01 22:15:42 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2011-02-14 12:39:44 -0200
commitaa2c364b4cf2fae4d9c8acf53ee4436ed533902d (patch)
tree3b9ecc989e78484282012627d13a4a954a30c0ae /cpu-defs.h
parent8668f61d20eac971d116ebbe8436b4ae963884a8 (diff)
downloadqemu-aa2c364b4cf2fae4d9c8acf53ee4436ed533902d.zip
qemu-aa2c364b4cf2fae4d9c8acf53ee4436ed533902d.tar.gz
qemu-aa2c364b4cf2fae4d9c8acf53ee4436ed533902d.tar.bz2
Prevent abortion on multiple VCPU kicks
If we call qemu_cpu_kick more than once before the target was able to process the signal, pthread_kill will fail, and qemu will abort. Prevent this by avoiding the redundant signal. This logic can be found in qemu-kvm as well. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'cpu-defs.h')
-rw-r--r--cpu-defs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpu-defs.h b/cpu-defs.h
index 8d4bf86..db809ed 100644
--- a/cpu-defs.h
+++ b/cpu-defs.h
@@ -205,6 +205,7 @@ typedef struct CPUWatchpoint {
uint32_t stopped; /* Artificially stopped */ \
struct QemuThread *thread; \
struct QemuCond *halt_cond; \
+ int thread_kicked; \
struct qemu_work_item *queued_work_first, *queued_work_last; \
const char *cpu_model_str; \
struct KVMState *kvm_state; \