Boost logo

Boost :

Subject: Re: [boost] Persistency library
From: Lifshitz, Yair (yair.lifshitz_at_[hidden])
Date: 2011-09-26 04:52:38


> > Practically, it is possible to achieve the same flexibility by using
> > setjmp()/longjmp() with minor effort.
>
> Are you aware of the C99 standard which defines setjmp()/longjmp() to provide non-local jumps but does not require that longjmp() preserves the current stack frame, e. g. jumping into a function which was exited via a call to > longjmp() is undefined?
>

Yes. The implementation I'm suggesting jumps into a function that hasn't exited yet.
In short, we dump a memory image of the process including the stack and the jump buffer.
The jump back is done into one of the predecessors of the image dump function, so the function has not exited yet.

The relevant local variables are marked as volatile and are therefore clearly defined.
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk