From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57626) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SF1xw-0003A7-3T for qemu-devel@nongnu.org; Tue, 03 Apr 2012 07:32:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SF1xg-0007Wv-Tv for qemu-devel@nongnu.org; Tue, 03 Apr 2012 07:31:58 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:57256) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SF1xg-0007WP-LS for qemu-devel@nongnu.org; Tue, 03 Apr 2012 07:31:44 -0400 Received: by pbcuo5 with SMTP id uo5so6192819pbc.4 for ; Tue, 03 Apr 2012 04:31:29 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <4F7ADF8A.8080503@redhat.com> Date: Tue, 03 Apr 2012 13:31:22 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1333442297-18932-1-git-send-email-laijs@cn.fujitsu.com> <1333442297-18932-4-git-send-email-laijs@cn.fujitsu.com> In-Reply-To: <1333442297-18932-4-git-send-email-laijs@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 04/10] coroutine: init co_runnable_bh during boot List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Lai Jiangshan Cc: Kevin Wolf , Anthony Liguori , Stefan Hajnoczi , qemu-devel@nongnu.org Il 03/04/2012 10:38, Lai Jiangshan ha scritto: > use __attribute__((constructor)) to do the initialization. > > Signed-off-by: Lai Jiangshan > --- > qemu-coroutine-lock.c | 9 +++++---- > 1 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c > index 90141cd..7c29bc4 100644 > --- a/qemu-coroutine-lock.c > +++ b/qemu-coroutine-lock.c > @@ -44,13 +44,14 @@ static void qemu_co_process_runnable(void *opaque) > } > } > > +static void __attribute__((constructor)) co_runnable_bh_init(void) > +{ > + co_runnable_bh = qemu_bh_new(qemu_co_process_runnable, NULL); > +} > + > void qemu_co_queue_init(CoQueue *queue) > { > QTAILQ_INIT(&queue->entries); > - > - if (!co_runnable_bh) { > - co_runnable_bh = qemu_bh_new(qemu_co_process_runnable, NULL); > - } > } > > void coroutine_fn qemu_co_queue_wait(CoQueue *queue) Reviewed-by: Paolo Bonzini