I have a multithreaded application that uses semaphores to protect critical sections. The application seems to work fine, but I happens after running for several days that the thread is blocked for good. I assume it's the WaitForSingleObject call with timeout value 1000, i.e. 1 second, that never returns.
I've read about problems using WaitForSingleObject on hyperthreaded computers. Is it possible that no timeout happens and the thread is waiting for the signaled state for an infinite time?
Thanks for your help.