Yes, eventually we should move to std::mutex and std::condition_variable, in which case it behaves as expected (std::mutex is non recursive, std::mutex is recursive).
On Wed, May 11, 2016 at 2:20 PM Greg Clayton via lldb-dev < lldb-dev@lists.llvm.org> wrote: > From lldb/source/Host/windows/Mutex.cpp: > > > Mutex::Mutex () : > m_mutex() > { > m_mutex = > static_cast<PCRITICAL_SECTION>(malloc(sizeof(CRITICAL_SECTION))); > InitializeCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); > } > > //---------------------------------------------------------------------- > // Default constructor. > // > // Creates a pthread mutex with "type" as the mutex type. > //---------------------------------------------------------------------- > Mutex::Mutex (Mutex::Type type) : > m_mutex() > { > m_mutex = > static_cast<PCRITICAL_SECTION>(malloc(sizeof(CRITICAL_SECTION))); > InitializeCriticalSection(static_cast<PCRITICAL_SECTION>(m_mutex)); > } > > > It also means that Condition.cpp doesn't act like its unix counterpart as > the pthread_contition_t requires that wait be called with a non recursive > mutex. Not sure what or if any issues are resulting from this, but I just > thought everyone should be aware. > > Greg Clayton > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev >
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev