Simple add coroutine to self->co_queue_wakeup. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- 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