x86: check for exit request after every hooked instruction. this should fix issue #232

This commit is contained in:
Nguyen Anh Quynh
2015-11-07 01:02:45 +08:00
parent 4c5ecda908
commit 938d0b89eb
2 changed files with 4 additions and 7 deletions

View File

@ -294,8 +294,8 @@ static tcg_target_ulong cpu_tb_exec(CPUState *cpu, uint8_t *tb_ptr)
TranslationBlock *tb = (TranslationBlock *)(next_tb & ~TB_EXIT_MASK);
if (cc->synchronize_from_tb) {
// avoid sync twice when helper_uc_tracecode() already did this.
if (env->uc->emu_counter <= env->uc->emu_count)
cc->synchronize_from_tb(cpu, tb); // qq
if (env->uc->emu_counter <= env->uc->emu_count && !env->uc->stop_request)
cc->synchronize_from_tb(cpu, tb);
} else {
assert(cc->set_pc);
// avoid sync twice when helper_uc_tracecode() already did this.