X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:to:subject:message-id:reply-to
	:references:mime-version:content-type:in-reply-to; q=dns; s=
	default; b=tDIKljOTugRNIJ88Gvdth1NDY5r4x1mOpV3lX3nCHWKqDbGoKbtOt
	OGyHAU3fPYDLw+br6+IPanQ1D+X/w6zHsNKKmQj8eA1+lU/LlYIhg7hXb5RzbGPy
	w4/cEmL7Cdv4awKViw3yD27BtkVEACY9n0mzhfQP0w/4rrQZ0+SEK8=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:to:subject:message-id:reply-to
	:references:mime-version:content-type:in-reply-to; s=default;
	 bh=i9fVyL+MDbFFom8ODrWJzO5VpxQ=; b=IRRTYqiMwPLrAgHvG+cet1Bz+tNk
	kPxMuSdUht1oK55YaY8/2CJUvJ+tM8BCIubxUqxgfrkTWPZJr9CGHK2TxDJJOdZT
	fpzQioZmbvXPakGd+Wt0NTq0nHVKyMIrpOjAJmOlkzrPZx37qmPEaxwYQyPev6Pa
	gsZSnVdZC2OQfbY=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-5.4 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2
X-HELO: calimero.vinschen.de
Date: Thu, 30 Apr 2015 16:35:43 +0200
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: is three any coroutine library works in cygwin?
Message-ID: <20150430143543.GP3657@calimero.vinschen.de>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <554235E1.2010200@163.com> <55423877.1050801@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;	protocol="application/pgp-signature"; boundary="JrKXExVCTktVujz6"
Content-Disposition: inline
In-Reply-To: <55423877.1050801@redhat.com>
User-Agent: Mutt/1.5.23 (2014-03-12)

--JrKXExVCTktVujz6
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Apr 30 08:13, Eric Blake wrote:
> On 04/30/2015 08:02 AM, echo wrote:
> > My program is using coroutine(implemented with ucontext api) on linux, I
> > am trying to port it to windows using cygwin. But I find out that cygwin
> > doesn't support ucontext api, so is there any coroutine library works
> > fine in cygwin?
>=20
> The qemu project has several alternative implementations for coroutines
> - in addition to ucontext, it provides sigaltstack, gthread, and win32
> implementations.  Perhaps one of those can be used as a starting point
> for your needs?  (see the coroutine-*.c files in
> http://git.qemu.org/?p=3Dqemu.git;a=3Dtree)

Cygwin 2.0 comes with improved ucontext handling in case of calling
signal handlers.  We might be able to come up with the missing functions
(getcontext, setcontext, makecontext, swapcontext, sigaltstack) at one
point, but that requires some hacking.

Patches are very welcome!


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--JrKXExVCTktVujz6
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVQj2/AAoJEPU2Bp2uRE+g8LYQAJ9xQRDBWxipEO86S/SxaMPa
skOj7DRd2IxCFuuYTO1RBKfwMdVzfJqFFAKBcwaz1CctATNQdOH0NAQKqJV+VEPT
JCIMwJ2aAarBnVaZTlYcJwFrxTpvwWh8c/kbXXSfwc9KOQ9rd/Mpu+u0PXVoZUKB
q5VhapbA21GNQyYmgJYCs+WYL+UIMdxWWdWdlUaUzkOuLRUQ3yHG3ExC5asFmdFy
6WQmu6ZV+OUibjxCONmcM/2YpaTUxPfdNpsLpDg3Gw/2g0Zs43/WpH7PO2Y6kvGP
6WPFEvBjHBEkV1reU1aLhedaf+FjBvU9FpmFK9kqQGfaWIKFW1TFnEDc382U92p0
W7ibs48FJJBczt0GDgyQF8i8OW/SxYpPhxQ/3jkZv6XWgydjAHotSx4Aw0lawSEG
gbJyZ99LpdD9cwQIjlFWgXkQ4LNHowFYcAQYMU9Q1k/oHK1znWR3LeOPjwyvEofO
YpFCxnW+Si0xdYIBxDtQ3sKwaPUY72iQX/035lgQF1TvvZLwkR8KKTXtybvwho9D
B/UwRjrRe5ydEP8zQohz8aNUJ82oYJ5NGEbvGaj7xHzN0k0Y8emvxlPCIAVrrGXn
VHRs3VuJHlGGmJZvCLw2LdbjkHU+3oLsdRU/kHPb5bnrzRfOPMnRU4r+VErj1kQ7
9JHjg39RMeb+6g28IS5C
=oW+3
-----END PGP SIGNATURE-----

--JrKXExVCTktVujz6--
