[context] future design

Hello, modifications I've made: - context: - stack unwinding: bool context::finished() const indicating that the called function has finished -> stack already unwinded boid context::unwind_stack() jump back into context and throw a special exception -> stack will be unwinded (requires that no try/catch(...) was used) - context is now moveable - is not a template == the stack type is only passed/known in the templated ctor - the function to be called by the context is not saved on top of the stack - exceptions replaced by assertions / exceptions.hpp removed - fcontext_t used as default implementation; ucontext_t only fallback for platforms not supported by fcontext_t - on Windows Win Fiber API is used as default - protected stack: - keyword explicit added to ctor - public static members min_stacksize, max_stacksize, default_stacksize - fcontext_t renamed to boost_fcontext_t, boost_fcontext_get(), boost_fcontext_set(), boost_fcontext_jump(), boost_fcontext_make() - i386 ASM preserves SSE2 control/status word - x86 ASM uses indirect jump for boost_fcontext_set() and boost_fcontext_jump() code is available at git://git.gitorious.org/boost-dev/boost-dev.git branch context-dev. @Vicente: could you check your SPAM filter , please (I've send several eMails to you). best regards, Oliver
participants (1)
-
Oliver Kowalke