[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