On 2011-02-21 09:43, Paolo Bonzini wrote: > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > cpus.c | 10 ++-------- > qemu-thread.c | 4 ++-- > qemu-thread.h | 2 +- > 3 files changed, 5 insertions(+), 11 deletions(-) > > diff --git a/cpus.c b/cpus.c > index 0f33945..aa30474 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -891,11 +891,8 @@ void qemu_cpu_kick_self(void) > int qemu_cpu_self(void *_env) > { > CPUState *env = _env; > - QemuThread this; > > - qemu_thread_self(&this); > - > - return qemu_thread_equal(&this, env->thread); > + return qemu_thread_is_current(env->thread); > } > > void qemu_mutex_lock_iothread(void) > @@ -1023,10 +1020,7 @@ void cpu_stop_current(void) > > void vm_stop(int reason) > { > - QemuThread me; > - qemu_thread_self(&me); > - > - if (!qemu_thread_equal(&me, &io_thread)) { > + if (!qemu_thread_is_current(&io_thread)) { > qemu_system_vmstop_request(reason); > /* > * FIXME: should not return to device code in case > diff --git a/qemu-thread.c b/qemu-thread.c > index fbc78fe..28b3f80 100644 > --- a/qemu-thread.c > +++ b/qemu-thread.c > @@ -181,9 +181,9 @@ void qemu_thread_self(QemuThread *thread) > thread->thread = pthread_self(); > } > > -int qemu_thread_equal(QemuThread *thread1, QemuThread *thread2) > +int qemu_thread_is_current(QemuThread *thread) > { > - return pthread_equal(thread1->thread, thread2->thread); > + return pthread_equal(pthread_self(), thread->thread); > } > > void qemu_thread_exit(void *retval) > diff --git a/qemu-thread.h b/qemu-thread.h > index 19bb30c..a7e35b4 100644 > --- a/qemu-thread.h > +++ b/qemu-thread.h > @@ -38,7 +38,7 @@ void qemu_thread_create(QemuThread *thread, > void *arg); > void qemu_thread_signal(QemuThread *thread, int sig); > void qemu_thread_self(QemuThread *thread); > -int qemu_thread_equal(QemuThread *thread1, QemuThread *thread2); > +int qemu_thread_is_current(QemuThread *thread); > void qemu_thread_exit(void *retval); > > #endif
I'm now in favor of an even more consistent refactoring: qemu_thread_is_self, qemu_thread_get_self, and qemu_cpu_is_self. See [1]. Jan [1] http://git.kiszka.org/?p=qemu-kvm.git;a=commitdiff;h=f5b278f5aec06fe4d140f68caf9b1bf17b4809b2 -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux