I've just tried out threading (as suggested by Chambers here http://www.rtsoft.com/forums/showthread.php?t=1771) and I must be doing something wrong. Both threads (the main loop in the app's main function and the loop in the rendering thread I created) are running (both write out stuff to console). I sync them using a mutex. After some time I figured the CL_DisplayWindow has to be created in the same thread as the rendering function (why? I remember there were such constraints in OGL or DX or somewhere). So now I run my rendering from one thread and my game loop from another. But now the window (created from the newly created rendering thread) is busy (sand-clock cursor in XP) and the keyboard and mouse (CL_InputBuffer) doesn't work. I tried calling CL_System::keep_alive but it didn't help. Any ideas

btw. I use VC 8.0 Express and XP if that matters