C++ : std::mutex::try_lock spuriously fail?