[PATCH spice-gtk] win32: fix coroutine assertion when switching to TLS port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)
---
 gtk/coroutine_winfibers.c | 1 +
 1 file changed, 1 insertion(+)

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");
-- 
1.9.3

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]