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

Reply via email to