summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2014-08-21 19:09:25 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2014-08-21 19:15:19 +0200
commit0019878f48897e6af7bc07bf7f866091383f4a66 (patch)
tree768cc68be58162fe2961076b81c6fe826b170b12
parent441494a567f982e272abb80c23f585d934fde599 (diff)
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)
-rw-r--r--gtk/coroutine_winfibers.c1
1 files changed, 1 insertions, 0 deletions
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");