I use boost::context to implement cooperative
multitasking. At the moment I use boost 1.57 on Windows 7 with VisualStudio
2013.
Everything works fine until I throw
an exception from a context created by "boost::context::make_fcontext(.......)".
I have seen someone had the same problem and it was caused by the
Windows OS, that checks the exception hierarchy in the stack and if it
finds that the starting point is not the one that should come from the
OS then it terminates the process. It suspects some malitious code that
corrupted the stack.
http://www.blinnov.com/en/2013/04/11/english-boostcontext-and-seh/
This guy metioned in his blogpost, that
this problem was solved in boost 1.53 ("Boost
1.53 has updated and fixed version of boost::context library that addresses
exactly this problem. "),
but somehow I still have the same thing in 1.57. Is there some special
preprocessor flag (#define) that I have to activate to get this fix?
Thanks!
Tamas