diff options
author | David 'Digit' Turner <digit@android.com> | 2011-05-09 15:20:22 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2011-06-01 17:08:17 +0200 |
commit | 795bb19daea966401df15bbf23c57b98848eec23 (patch) | |
tree | 650c9b1c3582f51707172fc73c14ea3e1a367f47 /exec.c | |
parent | 45c3be00d4c1f85ba8bbf34827c024fbc636725f (diff) | |
download | external_qemu-795bb19daea966401df15bbf23c57b98848eec23.zip external_qemu-795bb19daea966401df15bbf23c57b98848eec23.tar.gz external_qemu-795bb19daea966401df15bbf23c57b98848eec23.tar.bz2 |
qemu-common.h: other intergrates
Change-Id: Iaf5221814247d7686ec3d57abeab097b09c6a5dd
Diffstat (limited to 'exec.c')
-rw-r--r-- | exec.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1565,14 +1565,15 @@ static void cpu_unlink_tb(CPUState *env) TranslationBlock *tb; static spinlock_t interrupt_lock = SPIN_LOCK_UNLOCKED; + spin_lock(&interrupt_lock); tb = env->current_tb; /* if the cpu is currently executing code, we must unlink it and all the potentially executing TB */ - if (tb && !testandset(&interrupt_lock)) { + if (tb) { env->current_tb = NULL; tb_reset_jump_recursive(tb); - resetlock(&interrupt_lock); } + spin_unlock(&interrupt_lock); } /* mask must never be zero, except for A20 change call */ |