I have been trying for the last few days to try and get some basic multi-threading done however while it compiles and works wonderfully in debug mode, it is not saving/restoring the stack correctly in release mode. I am trying to figure out the differences between debug/release mode and while I turned off optimizations, it still happens.
I hope I will find a solution. I am using setjmp/longjmp which is known to not work in all situations. If you want you can try and diagnose it for me at my SVN repository: http://screensos.svn.sourceforge.net/viewvc/screensos/
If I get it working it will be really nice. Because its cooperative, its much easier to manage and will allow me to port it with more ease.
Note that I do stack copying which while its not exactly known for its performance, it has a higher rate of compatibility with function calls.
Wish me luck!