Le 27/06/13 16:42, Christian Hägele a écrit :
Hello,
as boost::thread now depends on boost::chrono I have the following questions: Yes, this is dependency that I have not reached to make optional on Windows.
In boost::chrono on windows the the steady_clock is implemented via QueryPerformanceCounter. This may lead to wrong results because on some systems QueryPerformanceCounter gives different results on different processors. In our software we encountered theses problems regularly on some customers machines and thus stopped using QueryPerformanceCounter without additional checking. The problem I'm talking about is described as a TODO in boost/chrono/system_clocks.hpp
Yes, I remember this comment.
My questions is if functions like boost::thread::timed_join or boost::mutex::timed_wait may have similar problems on hardware where QueryPerformanceCounter gives wrong result. Is there a way (like a preprocessor macro) to have boost::thread use the old implementation independent from boost::chrono?
Unfortunately I don't know how to implement a real steady_clock on windows platform, and I was wondering if it shouldn't be removed. Of course if someone knows how to do it, patches are welcome. Best, Vicente