Simple add coroutine to self->co_queue_wakeup.
Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]>
---
include/qemu/coroutine.h | 2 ++
util/qemu-coroutine.c | 7 +++++++
2 files changed, 9 insertions(+)
diff --git a/include/qemu/coroutine.h b/include/qemu/coroutine.h
index e6a60d5..6e87c87 100644
--- a/include/qemu/coroutine.h
+++ b/include/qemu/coroutine.h
@@ -226,4 +226,6 @@ void coroutine_fn co_aio_sleep_ns(AioContext *ctx,
QEMUClockType type,
*/
void coroutine_fn yield_until_fd_readable(int fd);
+void qemu_coroutine_add_next(Coroutine *next);
+
#endif /* QEMU_COROUTINE_H */
diff --git a/util/qemu-coroutine.c b/util/qemu-coroutine.c
index 737bffa..300b96d 100644
--- a/util/qemu-coroutine.c
+++ b/util/qemu-coroutine.c
@@ -151,3 +151,10 @@ bool qemu_coroutine_entered(Coroutine *co)
{
return co->caller;
}
+
+void qemu_coroutine_add_next(Coroutine *next)
+{
+ Coroutine *self = qemu_coroutine_self();
+ QSIMPLEQ_INSERT_TAIL(&self->co_queue_wakeup, next, co_queue_next);
+ trace_qemu_co_queue_next(next);
+}
--
1.8.3.1