summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@nokia.com>2010-01-20 12:56:27 +0200
committerRiku Voipio <riku.voipio@nokia.com>2010-02-05 14:50:58 +0200
commit26bc95a037ef5e65afacc89082725a34ba23fdbd (patch)
tree90f51247535f6c007f76f4e8d4624455e8f48015
parentc4ab7899f273d602086ea231c8e200b64a0da7ce (diff)
downloadhqemu-26bc95a037ef5e65afacc89082725a34ba23fdbd.zip
hqemu-26bc95a037ef5e65afacc89082725a34ba23fdbd.tar.gz
fix locking error with current_tb
Signed-off-by: Riku Voipio <riku.voipio@nokia.com>
-rw-r--r--exec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/exec.c b/exec.c
index 76831a1..431e104 100644
--- a/exec.c
+++ b/exec.c
@@ -1537,15 +1537,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) {
- spin_lock(&interrupt_lock);
env->current_tb = NULL;
tb_reset_jump_recursive(tb);
- spin_unlock(&interrupt_lock);
}
+ spin_unlock(&interrupt_lock);
}
/* mask must never be zero, except for A20 change call */
OpenPOWER on IntegriCloud