Hi there, At least 3 glib projects share a similar coroutine implementation (gtk-vnc, spice-gtk and qemu). So I decided to propose adding coroutine support in GLib. I made some changes regarding the API to be slightly more generic. I invite you to review and participate to the RFC bug https://bugzilla.gnome.org/show_bug.cgi?id=719362.
If the proposal isn't refused, I'll keep working on it as it's incomplete at this point and will provide a qemu patch as a proof of concept. cheers -- Marc-André Lureau