[Spice-devel] [PATCH spice-gtk 1/5] coroutine: fix current coroutine

Marc-André Lureau marcandre.lureau at gmail.com
Wed Jun 5 08:39:55 PDT 2013


When leaving a coroutine, it swaps back to where it came from, not to
the leader/main coroutine.
---
 gtk/coroutine_ucontext.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gtk/coroutine_ucontext.c b/gtk/coroutine_ucontext.c
index af811a7..6d2f74a 100644
--- a/gtk/coroutine_ucontext.c
+++ b/gtk/coroutine_ucontext.c
@@ -102,7 +102,7 @@ void *coroutine_swap(struct coroutine *from, struct coroutine *to, void *arg)
 		return from->data;
 	else if (ret == 1) {
 		coroutine_release(to);
-		current = &leader;
+		current = from;
 		to->exited = 1;
 		return to->data;
 	}
-- 
1.8.3.rc1.49.g8d97506



More information about the Spice-devel mailing list