Il 21/09/2012 10:47, Juan Quintela ha scritto: > Old code used !io_thread to know if a thread was an vcpu or not. That > fails when we introduce the iothread. > > Signed-off-by: Juan Quintela <quint...@redhat.com> > --- > cpus.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/cpus.c b/cpus.c > index e476a3c..1b7061a 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -902,6 +902,11 @@ int qemu_cpu_is_self(void *_env) > return qemu_thread_is_self(cpu->thread); > } > > +static bool qemu_cpu_is_vcpu(void) > +{ > + return cpu_single_env && qemu_cpu_is_self(&cpu_single_env);
Should be "cpu_single_env && qemu_cpu_is_self(&cpu_single_env)". Please named the function qemu_in_vcpu_thread. Paolo > +} > + > void qemu_mutex_lock_iothread(void) > { > if (!tcg_enabled()) { > @@ -947,7 +952,7 @@ void pause_all_vcpus(void) > penv = penv->next_cpu; > } > > - if (!qemu_thread_is_self(&io_thread)) { > + if (qemu_cpu_is_vcpu()) { > cpu_stop_current(); > if (!kvm_enabled()) { > while (penv) { > @@ -1064,7 +1069,7 @@ void cpu_stop_current(void) > > void vm_stop(RunState state) > { > - if (!qemu_thread_is_self(&io_thread)) { > + if (qemu_cpu_is_vcpu()) { > qemu_system_vmstop_request(state); > /* > * FIXME: should not return to device code in case >