
----- Original Message ----- From: "Oliver Kowalke" <k-oli@gmx.de> To: <boost@lists.boost.org> Sent: Thursday, December 16, 2010 9:06 PM Subject: [boost] [context] new version - support for Win64
I've uploaded boost.context-0.3.0.zip to boost vault.
The new version supports the context-/stack- swapping provided by the OS (ucontext ABI on UNIX, Fiber ABI on Windows) as well a fast context swapping (using assembler).
supported platforms: i386, x86_64, arm, mips, ppc
OS: UNIX, Windows (32 bit/64 bit)
More details can be found in the documentation (included in the archive).
I have take a look to the documentation and I have some comments. * The sentence in the Overview "(threads are preemptively scheduled)" could be misleading as the code will in any case be run on a thread. * The documentation lacks a clear motivation for the end user. If the library is a too low level one, maybe you could add the more high level libraries that could be built on top of contexts. * How is this related to setjmp/longjmp? * How exceptions are propagated when calling to jump_to()? * Why do you need a ::create function? boost::context g() { return boost::context::create( f, 0, boost::context::default_stacksize); } why not just boost::context g() { return boost::context( f, 0, boost::context::default_stacksize); } * Could you clarify your sentence "Frame-unwind-tables instead of setjmp/longjmp based exception handling must be used in order to catch exception inside called function." * Some examples on the user space. A traffic light controller could show that it is possible to do it, but that more high level abstractions are needed. * Other examples of the use of the next context * Performances comparison between fiber and fcontext will be welcome Best, Vicente