Boost logo

Boost :

From: Jose (jmalv04_at_[hidden])
Date: 2006-09-14 14:34:07

Hi, Giovanni,

I found 2 papers that shed some light on the solution using one-shot
continuations. The key is to detect when the continuation is invoked a
second time and provide a suitable error

Interaction-Safe State for the Web

The Influence of Browsers on

On 9/14/06, Jose <jmalv04_at_[hidden]> wrote:
> On 9/14/06, Giovanni Piero Deretta <gpderetta_at_[hidden]> wrote:
> [ .. description on how RIFE implements full continuations in Java .. ]
> These are a too great limitation for a general purpose library like
> > mine (even RIFE provieds a way to disable full continuations with
> > setCloneContinuation(false)). Also walking the stack to search for
> > object to copy cannot be implemented portably (or even non portably),
> > unless one where to be restricted to never allocate non builtin stack
> > objects and have all heap allocated objects inherit from a common
> > base. This would kill performance, would be a very non iodimatic c++
> > and still be hard to do and very fragile.
> >
> > Theoretically compiler support could make coroutine copying possible
> > and even relatively cheap (no much more than the cost of copying every
> > single local object in scope) . In fact some compilers know at every
> > moment the set of all objects alive in the stack for unwinding
> > purposes.
> >
> > For the time being my library is stuck with non-copyable coroutines.
> Then I see two interesting and not mutually exclusive paths to follow:
> - implement the one shot continuation examples, although the multiple
> web cont. implementations out there seem to do full cont. (at least
> Scheme, Java, Ruby, ..)
> - experiment with an implementation for Linux only, and check whether
> performance and
> fragility are major issues (the interpreted versions out there don't seem
> to complain about
> that but I am not sure they are used in high performance cases)
> Thank you for helping me understand this complex topic !

Boost list run by bdawes at, gregod at, cpdaniel at, john at