summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/muteximpl.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add CORE mutex variantsSebastian Huber2016-05-301-0/+35
| | | | | | | | Add CORE_recursive_mutex_Control and CORE_ceiling_mutex_Control to avoid the run-time evaluation of attributes to figure out how a particular mutex methods should behave. Start with the no protocol variants. This eliminates the CORE_MUTEX_DISCIPLINES_FIFO and CORE_MUTEX_DISCIPLINES_PRIORITY disciplines.
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-42/+0
| | | | | | | | | | | Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
* score: Move thread queue MP callout to contextSebastian Huber2016-05-251-2/+2
| | | | | | | | Drop the multiprocessing (MP) dependent callout parameter from the thread queue extract, dequeue, flush and unblock methods. Merge this parameter with the lock context into new structure Thread_queue_Context. This helps to gets rid of the conditionally compiled method call helpers.
* Replace *_Get_interrupt_disable() with *_Get()Sebastian Huber2016-05-201-1/+1
| | | | | Uniformly use *_Get() to get an object by identifier with a lock context.
* posix: Avoid Giant lock for condition variablesSebastian Huber2016-04-271-0/+10
| | | | Update #2555.
* posix: Avoid Giant lock for mutexesSebastian Huber2016-04-211-14/+0
| | | | | | | Delete _POSIX_Mutex_Get(). Use _POSIX_Mutex_Get_interrupt_disable() instead. Update #2555.
* posix: Simplify _POSIX_Mutex_Get_interrupt_disableSebastian Huber2016-04-211-7/+7
| | | | Remove superfluous location parameter.
* Optional POSIX Mutex initializationSebastian Huber2016-02-031-9/+2
| | | | Update #2408.
* score: Add Thread_queue_Control::LockSebastian Huber2015-05-191-0/+1
| | | | | | | | | | | Move the complete thread queue enqueue procedure into _Thread_queue_Enqueue_critical(). It is possible to use the thread queue lock to protect state of the object embedding the thread queue. This enables per object fine grained locking in the future. Delete _Thread_queue_Enter_critical_section(). Update #2273.
* score: _Objects_Get_isr_disable()Sebastian Huber2015-04-211-1/+1
| | | | | | | Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for low-level locking. Update #2273.
* Delete unused *_Is_null() functionsSebastian Huber2014-07-261-15/+0
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* muteximpl.h: Comment clean upJoel Sherrill2013-12-091-108/+44
|
* posix: Convert to inline functionSebastian Huber2013-07-181-4/+16
|
* score: Create mutex implementation headerSebastian Huber2013-07-181-0/+1
| | | | | | Move implementation specific parts of coremutex.h and coremutex.inl into new header file coremuteximpl.h. The coremutex.h contains now only the application visible API.
* posix: Create mutex implementation headerSebastian Huber2013-07-181-0/+226
Move implementation specific parts of mutex.h and mutex.inl into new header file muteximpl.h. The mutex.h contains now only the application visible API.