m_pause_mutex is now a std::recursive_mutex