Description
boost::condition_variable can't use monotonic time. So when someone adjusts his wall-clock time forward a bunch of threads will stall out.
The performance is also bad as evidenced by RPC benchmarks where we did a lot better just using a simple wrapper around pthread_cond_wait. The reason is because boost::condition_variable actually creates its own, separate mutex, which it uses instead of the one you pass in.