On Mon, 2016-05-09 at 12:25 -0700, Ian Lance Taylor wrote:
> On Fri, May 6, 2016 at 10:42 PM, Rich Felker <dal...@libc.org> wrote:
> >
> > The *context APIs are deprecated and I'm not sure they're worth
> > supporting with this. It would be a good excuse to get people to stop
> > using them.
> 
> The gccgo library uses them, because there is no working alternative.
> 
> In general coroutine support requires the ability to designate some
> area of memory as stack space.

That depends on the coroutine implementation.  The Resumable Functions
proposal for C++ (http://wg21.link/p0057r3) does not require it, whereas
other implementations (called "stackful" in the ISO C++ discussions) do.

IMO, glibc would be the right place to support these because they can be
considered to be implementations of threads of execution that are
similar to POSIX threads but not quite the same.

In the glibc project, we've talked about such support (dubbed "libea"
derived from "execution agents", also a term from the C++ standard), but
haven't started work on it yet.


Reply via email to