summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/mqueueimpl.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-8/+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-5/+9
| | | | | | | | 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-14/+1
| | | | | Make the interrupt lock context the second parameter to avoid register moves.
* posix: Simplify message queuesSebastian Huber2016-05-021-73/+16
| | | | | | | | | | | | The mq_open() function returns a descriptor to a POSIX message queue object identified by a name. This is similar to sem_open(). In contrast to the POSIX semaphore the POSIX message queues use a separate object for the descriptor. This extra object is superfluous, since the object identifier can be used directly for this purpose, just like for the semaphores. Update #2702. Update #2555.
* posix: _POSIX_Message_queue_Create_support()Sebastian Huber2016-05-021-14/+0
| | | | | Make _POSIX_Message_queue_Create_support() static since it is only used by mq_open().
* score: Add _Objects_Get_by_name()Sebastian Huber2016-03-181-9/+12
| | | | | | | | | | 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 Message Queue initializationSebastian Huber2016-02-031-21/+2
| | | | Update #2408.
* score: Fine grained locking for message queuesSebastian Huber2015-05-191-0/+15
| | | | | | | | | | | Aggregate several critical sections into a bigger one. Sending and receiving messages is now protected by an ISR lock. Thread dispatching is only disabled in case a blocking operation is necessary. The message copy procedure is done inside the critical section (interrupts disabled). Thus this change may have a negative impact on the interrupt latency in case very large messages are transferred. Update #2273.
* Delete unused *_Is_null() functionsSebastian Huber2014-07-261-13/+0
|
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* mqueueimpl.h: Comment clean upJoel Sherrill2013-12-091-176/+91
|
* score: Create message queue implementation headerSebastian Huber2013-07-221-0/+1
| | | | | | Move implementation specific parts of coremsg.h and coremsg.inl into new header file coremsgimpl.h. The coremsg.h contains now only the application visible API.
* posix: Create message queue implementation headerSebastian Huber2013-07-221-0/+368
Move implementation specific parts of mqueue.h and mqueue.inl into new header file mqueueimpl.h. The mqueue.h contains now only the application visible API.