summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/semaphoreimpl.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-081-1/+1
| | | | | | Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size.
* score: Add semaphore variantsSebastian Huber2016-05-301-0/+2
|
* score: Add _Thread_queue_Context_set_MP_callout()Sebastian Huber2016-05-301-1/+1
| | | | | | Add _Thread_queue_Context_set_MP_callout() to simplify _Thread_queue_Context_initialize(). This makes it possible to more easily add additional fields to Thread_queue_Context.
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-27/+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-4/+5
| | | | | | | | 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.
* score: Rename _Objects_Get_local()Sebastian Huber2016-05-201-1/+1
| | | | | | Rename _Objects_Get_local() into _Objects_Get(). Confusions with the previous _Objects_Get() function are avoided since the Objects_Locations parameter is gone.
* score: Optimize _Objects_Get_local()Sebastian Huber2016-05-021-2/+2
| | | | | Make the interrupt lock context the second parameter to avoid register moves.
* posix: Use _Objects_Get_local() for semaphoresSebastian Huber2016-04-221-7/+4
| | | | | This simplifies the code since the object location is no longer used. Remove superfluous header includes.
* score: Avoid Giant lock for CORE mtx/semSebastian Huber2016-04-221-23/+3
| | | | | | | Avoid Giant lock for CORE mutex and semaphore flush and delete operations. Update #2555.
* score: Fix _CORE_semaphore_Flush()Sebastian Huber2016-04-211-1/+0
| | | | | | | Use proper CORE_semaphore_Status for _CORE_semaphore_Flush() and _CORE_semaphore_Destroy() operations. Close #2696.
* score: Add _Objects_Get_by_name()Sebastian Huber2016-03-181-9/+11
| | | | | | | | | | Replace _Objects_Name_to_id_string() with _Objects_Get_by_name() since all users of this function are interested in the object itself and not the identifier. Use the object allocator lock to protect the search. Update #2555.
* Optional POSIX Semaphore initializationSebastian Huber2016-02-031-8/+1
| | | | Update #2408.
* score: Fine grained locking for semaphoresSebastian Huber2015-05-191-0/+14
| | | | Update #2273.
* 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: PR2152: Use allocator mutex for objectsSebastian Huber2014-03-311-10/+3
| | | | | Use allocator mutex for objects allocate/free. This prevents that the thread dispatch latency depends on the workspace/heap fragmentation.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* semaphoreimpl.h: Comment clean upJoel Sherrill2013-12-091-79/+38
|
* score: Create semaphore implementation headerSebastian Huber2013-07-221-0/+1
| | | | | | Move implementation specific parts of coresem.h and coresem.inl into new header file coresemimpl.h. The coresem.h contains now only the application visible API.
* posix: Convert to inline functionSebastian Huber2013-07-221-2/+18
|
* posix: Create semaphore implementation headerSebastian Huber2013-07-221-0/+207
Move implementation specific parts of semaphore.h and semaphore.inl into new header file semaphoreimpl.h. The semaphore.h contains now only the application visible API.