Introduction - If you have any usage issues, please Google them yourself
The posix implementation of ConditionVariable needs to be able to see our lock and tweak our debugging counters, as it releases and acquires locks inside of pthread_cond_{timed,wait.