Ho, what great news!
I've chose for the GPL, in a few hour i'll upload a new version.
I think that if you whant to make a yield_thread function you can simply:
void yield_thread(void)
{
dispatcher();
}
I THINK IT WILL WORK, but i'm not so shure.
Now, i'm very very interested in your mutexes and condition variables patch! Send me them and i'll include them in the next version [clearly i'll mention you in the library].
I can also test all your function [plus the yield one] if you wish.
"The Ur-Quan Masters" look so cool, but i don't find any tecnical description of the game. It's a turn based strategy game if i don't misunderstand. Why do you need thread? Hope the very best for the work, keep me informed about the project.