@@ -767,10 +767,6 @@ static void qemu_wait_io_event_common(CPUState *env)
{
CPUState *env;
- while (all_cpu_threads_idle()) {
- qemu_cond_timedwait(tcg_halt_cond, &qemu_global_mutex, 1000);
- }
-
qemu_mutex_unlock(&qemu_global_mutex);
/*
@@ -1110,7 +1111,15 @@ bool cpu_exec_all(void)
}
}
exit_request = 0;
+
+#ifdef CONFIG_IOTHREAD
+ while (all_cpu_threads_idle()) {
+ qemu_cond_timedwait(tcg_halt_cond, &qemu_global_mutex, 1000);
+ }
+ return true;
+#else
return !all_cpu_threads_idle();
+#endif
}
void set_numa_modes(void)