simple binary semaphore + priority inheritance

Joel Sherrill joel.sherrill at OARcorp.com
Sun Oct 18 00:28:38 UTC 2009


Till Straumann wrote:
> Joel Sherrill wrote:
>   
>> That combination never really worked.  The create let it slip through 
>> and treated it as simple with priority -- no inheritance. Inheritance 
>> needs the mutex to be allocated and deallocated by the same thread.  
>> That is in conflict with the requirement that a simple binary 
>> semaphore can be used for condition synchronization from an interrrupt.
>>
>> Hope that is clear.
>>
>>     
> It is - but IMHO this should be mentioned in the documentation.
> I didn't find any hint that priority inheritance for simple binary
> semaphores is illegal but maybe I missed somehing.
>
>   
It doesn't look like you missed anything in my quick look
at the documentation.  The class slides are very explicit about
this but the user's manual isn't.  The semaphore manager
documentation needs to be looked at to make sure the invalid
combinations are clear.

counting - fifo, priority
simple - fifo, priority
binary (e.g. mutex) - fifo, priority, priority + inheritance, and
   priority + ceiling

Any other combination is invalid.

--joel
> T.
>   
>> --joel
>>
>>     
>>> On Oct 17, 2009 5:11 PM, "Till Straumann" <strauman at slac.stanford.edu 
>>> <mailto:strauman at slac.stanford.edu>> wrote:
>>>
>>> I see that on the HEAD simple binary semaphores no
>>> longer are allowed to have the RTEMS_INHERIT_PRIORITY
>>> (nor the RTEMS_PRIORITY_CEILING) attribute.
>>>
>>> What is the reason for this change? I suspect this
>>> will break quite a few applications.
>>>
>>> -- Till
>>>
>>>       
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users
>   




More information about the users mailing list