When qemu_coroutine_switch() in the qemu_coroutine_yield() returns, It must be someone calls qemu_coroutine_enter() for it, so the @to is active, the tests in coroutine_swap() are unneeded, so we use qemu_coroutine_switch() directly in qemu_coroutine_yield().
Signed-off-by: Lai Jiangshan <la...@cn.fujitsu.com> --- qemu-coroutine.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/qemu-coroutine.c b/qemu-coroutine.c index 600be26..c01252e 100644 --- a/qemu-coroutine.c +++ b/qemu-coroutine.c @@ -71,5 +71,5 @@ void coroutine_fn qemu_coroutine_yield(void) } self->caller = NULL; - coroutine_swap(self, to); + qemu_coroutine_switch(self, to, COROUTINE_YIELD); } -- 1.7.4.4