Changeset 5870ac55 in rtems for cpukit/rtems/macros


Ignore:
Timestamp:
Jan 5, 2000, 10:19:21 PM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
ef03d0e
Parents:
5283cc82
Message:

Added support for simple binary semaphores in addition to the high
power binary/mutex style semaphores already supported by RTEMS. This
was done at the request of Eric Norum <eric@…> in support
of his effort to port EPICS to RTEMS. This change consisted of
changing the nesting_allowed boolean into a lock_nesting_behavior
enumerated value as well as allowing the core mutex object to optionally
support ensuring that the holder of a binary semaphore released it.
Finally, a more subtle enhancement was to allow the non-holder to release
a priority inheritance/ceiling mutex and still allow the holding task
to return to its original priority.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/rtems/macros/rtems/rtems/attr.inl

    r5283cc82 r5870ac55  
    6969
    7070#define _Attributes_Is_binary_semaphore( _attribute_set ) \
    71   ( (_attribute_set) & RTEMS_BINARY_SEMAPHORE )
     71  (((_attribute_set) & RTEMS_SEMAPHORE_CLASS) == RTEMS_BINARY_SEMAPHORE)
     72
     73/*PAGE
     74 *
     75 *  _Attributes_Is_simple_binary_semaphore
     76 *
     77 */
     78
     79#define _Attributes_Is_simple_binary_semaphore( _attribute_set ) \
     80  (((_attribute_set) & RTEMS_SEMAPHORE_CLASS) == RTEMS_SIMPLE_BINARY_SEMAPHORE)
     81
     82/*PAGE
     83 *
     84 *  _Attributes_Is_counting_semaphore
     85 *
     86 */
     87
     88#define _Attributes_Is_counting_semaphore( _attribute_set ) \
     89  (((_attribute_set) & RTEMS_SEMAPHORE_CLASS) == RTEMS_COUNTING_SEMAPHORE)
    7290
    7391/*PAGE
     
    91109/*PAGE
    92110 *
    93  *  _Attributes_Is_nesting_allowed
    94  *
    95  */
    96 
    97 #define _Attributes_Is_nesting_allowed( _attribute_set ) \
    98    ( !((_attribute_set) & RTEMS_NO_NESTING_ALLOWED) )
    99 
    100 /*PAGE
    101  *
    102111 *  _Attributes_Is_system_task
    103112 *
Note: See TracChangeset for help on using the changeset viewer.