[Spice-commits] gtk/coroutine_winfibers.c

Marc-André Lureau elmarco at kemper.freedesktop.org
Mon Aug 25 03:48:33 PDT 2014

 gtk/coroutine_winfibers.c |    1 +
 1 file changed, 1 insertion(+)

New commits:
commit 0019878f48897e6af7bc07bf7f866091383f4a66
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date:   Thu Aug 21 19:09:25 2014 +0200

    win32: fix coroutine assertion when switching to TLS port
    Since v0.21-35-gbaa51c5, there are some new coroutine preconditions.
    The winfiber implementation can reach, when the structure isn't cleared,
    which happens when switching channel connection to TLS port and the
    coroutine is recycled.
    CRITICAL **: coroutine_yieldto: assertion '!to->exited' failed
    In a near future, it would be nice to use the safer implementation
    proposed for glib, see bgo#719362 (using a private copy)

diff --git a/gtk/coroutine_winfibers.c b/gtk/coroutine_winfibers.c
index a5ab3ba..6f96c74 100644
--- a/gtk/coroutine_winfibers.c
+++ b/gtk/coroutine_winfibers.c
@@ -60,6 +60,7 @@ void coroutine_init(struct coroutine *co)
 			g_error("ConvertThreadToFiber() failed");
+	co->exited = 0;
 	co->fiber = CreateFiber(0, &coroutine_trampoline, co);
 	if (co->fiber == NULL)
 		g_error("CreateFiber() failed");

More information about the Spice-commits mailing list