[lldb-dev] All windows Mutex objects are recursive???

Zachary Turner via lldb-dev lldb-dev at lists.llvm.org
Wed May 11 15:01:51 PDT 2016


I mean std::recursive_mutex is recursive

On Wed, May 11, 2016 at 3:01 PM Zachary Turner <zturner at google.com> wrote:

> 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 at 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 at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160511/c82ec5d7/attachment.html>


More information about the lldb-dev mailing list