aboutsummaryrefslogtreecommitdiff
path: root/qemu-coroutine-lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'qemu-coroutine-lock.c')
-rw-r--r--qemu-coroutine-lock.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/qemu-coroutine-lock.c b/qemu-coroutine-lock.c
index 6b58160058..9549c075ee 100644
--- a/qemu-coroutine-lock.c
+++ b/qemu-coroutine-lock.c
@@ -61,6 +61,14 @@ void coroutine_fn qemu_co_queue_wait(CoQueue *queue)
assert(qemu_in_coroutine());
}
+void coroutine_fn qemu_co_queue_wait_insert_head(CoQueue *queue)
+{
+ Coroutine *self = qemu_coroutine_self();
+ QTAILQ_INSERT_HEAD(&queue->entries, self, co_queue_next);
+ qemu_coroutine_yield();
+ assert(qemu_in_coroutine());
+}
+
bool qemu_co_queue_next(CoQueue *queue)
{
Coroutine *next;