From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=60721 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PmtTy-0003tE-4B for qemu-devel@nongnu.org; Tue, 08 Feb 2011 14:44:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PmtTx-00072x-3Z for qemu-devel@nongnu.org; Tue, 08 Feb 2011 14:44:14 -0500 Received: from mail-gw0-f45.google.com ([74.125.83.45]:42831) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PmrDG-0000yU-2W for qemu-devel@nongnu.org; Tue, 08 Feb 2011 12:18:50 -0500 Received: by gwaa12 with SMTP id a12so2625285gwa.4 for ; Tue, 08 Feb 2011 09:18:49 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Tue, 8 Feb 2011 18:18:21 +0100 Message-Id: <1297185509-20996-5-git-send-email-pbonzini@redhat.com> In-Reply-To: <1297185509-20996-1-git-send-email-pbonzini@redhat.com> References: <1297185509-20996-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [CFT PATCH 04/12] change qemu_thread_equal API to always compare with current thread List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Signed-off-by: Paolo Bonzini --- 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 474be16..c1d0ceb 100644 --- a/cpus.c +++ b/cpus.c @@ -857,11 +857,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_equal(env->thread); } void qemu_mutex_lock_iothread(void) @@ -990,10 +987,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_equal(&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..7f5c0b6 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_equal(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..fa4bfb9 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_equal(QemuThread *thread); void qemu_thread_exit(void *retval); #endif -- 1.7.3.5