Commit 6f5a9f7e authored by Fabrice Bellard's avatar Fabrice Bellard
Browse files

fixed async signal support for tb_phys_invalidate()


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1670 c046a42c-6fe2-441c-8c8c-71466251a162
parent 4a38940d
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -672,13 +672,20 @@ void tb_invalidate_phys_page_range(target_ulong start, target_ulong end,
#endif
            }
#endif /* TARGET_HAS_PRECISE_SMC */
            /* we need to do that to handle the case where a signal
               occurs while doing tb_phys_invalidate() */
            saved_tb = NULL;
            if (env) {
                saved_tb = env->current_tb;
                env->current_tb = NULL;
            }
            tb_phys_invalidate(tb, -1);
            if (env) {
                env->current_tb = saved_tb;
                if (env->interrupt_request && env->current_tb)
                    cpu_interrupt(env, env->interrupt_request);
            }
        }
        tb = tb_next;
    }
#if !defined(CONFIG_USER_ONLY)