[En-Nut-Discussion] Feature Request 1572837: mutex API nesting level info
Alain M.
alainm at pobox.com
Mon Jul 14 16:52:40 CEST 2008
Why not use a Semaphore? I understand that it is basicaly a counter,
just as needed. I have already used mutexes implemented as semaphores
with a max count of 1...
Alain
Matthias Ringwald escreveu:
> Hi Przmek
>
>
> On 13.07.2008, at 23:01, Przemek Rudy wrote:
>> This is not for the debug. There is obviously no problem taking the
>> mutex value directly, but accessing internal data structures is a hack
>> in my opinion. On the other hand there is no big pain giving this
>> value
>> back with public API.
>
> I completely agree with this statement but I'm still wondering if
> checking
> the recursive mutex is the right way. The POSIX.1 standard does not
> provide
> this option, so my gut feeling is that maybe there should be an even
> more
> clean solution than returning the locking level.
>
> In my understanding, a mutex is used to protect access to a shared
> object.
> The recursive mutex allows a function/thread to successively lock
> (assert ownership of) this mutex without checking whether it already
> owns the mutex.
>
> If you already protect the function with a mutex, you're save to use a
> simple
> int counter as your own locking count inside the function. Then you
> neither
> have to access internals of the mutex nor have to use "exotic" :) APIs.
>
>
> Does this make sense in your case?
>
> Cheers
> Matthias
>
> (Sorry for beeing picky but I'm C.S. PhD student... :)
>
>> Hi,
>> Sorry for the delay.
>>
>> The story with this mutex is pretty simple:
>> There is a function that calls the mutex. This function can be called
>> recursively. But only for the first nested call an additional action
>> must be made. Thus the simplest way for this is to check the mutex
>> value
>> just after taking it.
>
> _______________________________________________
> http://lists.egnite.de/mailman/listinfo/en-nut-discussion
>
>
More information about the En-Nut-Discussion
mailing list