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 -- 1.7.3.5