use __attribute__((constructor)) to do the initialization.
Signed-off-by: Lai Jiangshan <[email protected]>
---
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)
--
1.7.4.4