Message ID | 1482503344-6424-14-git-send-email-vsementsov@virtuozzo.com |
---|---|
State | New |
Headers | show |
On Fri, Dec 23, 2016 at 05:28:56PM +0300, Vladimir Sementsov-Ogievskiy wrote: > Simple add coroutine to self->co_queue_wakeup. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@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); Missing coroutine_fn. Please add a doc comment and a testcase in tests/test-coroutine.c.
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); +}
Simple add coroutine to self->co_queue_wakeup. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> --- include/qemu/coroutine.h | 2 ++ util/qemu-coroutine.c | 7 +++++++ 2 files changed, 9 insertions(+)