Hi,
I must have missed something, but the implementation of:
cCondWait::SleepMs(int TimeoutMs)
{
cCondWait w;
w.Wait(TimeoutMS);
}
Will if I understand this right, create a new cCondWait instance and than
wait for TimeoutMs milliseconds before returning, but no other threads know
about this new cCondWait object and can therefore not signal it to break
before the timeout has elapsed.
If I understood the NTPL problem right, pthread_cond_timedwait will spin
lock for up to two milliseconds (one this specific case), so it will not
work as expected.