Created attachment 143936 [details] helgrind/freebsd I was looking fort examples that exercise the new pthread_clock APIS. The template code is a bit hard to read between the templates and conditional compilation but it seems to me that std::timed_mutex (and timed_recursive_mutex) may use pthread_mutex_clocklock std::shared_timed_mutex may use pthread_rwlock_clockwrlock and pthread_rwlock_clockrdlock I started with this example https://en.cppreference.com/w/cpp/thread/condition_variable/wait_until (need to check that it really is using some of the above functions. It generates several errors with both helgrind and drd. I also need to try https://en.cppreference.com/w/cpp/thread/shared_timed_mutex/try_lock_until and https://en.cppreference.com/w/cpp/thread/timed_mutex/try_lock_until There seems to be a fair bit going wrong here. For comparison here are logs from FreeBSD (which I know has other issues, but the cv.wait_until used the timed rather than the clock version).
Created attachment 143937 [details] drd/freebsd
Hmm. This test does use 'timed' rather than 'clock'. I'll carry on trying to debug it.
Created attachment 143939 [details] helgrind/linux
Created attachment 143940 [details] drd/linux
This doesn't produce the errors that I was expecting. Though there are numerous errors I'll close it and deal with them separately.