RTEMS
5.0.0
|
Files | |
file | semmp.h |
file | semmp.c |
Semaphore MP Support. | |
Data Structures | |
struct | Semaphore_MP_Packet |
Enumerations | |
enum | Semaphore_MP_Remote_operations { SEMAPHORE_MP_ANNOUNCE_CREATE = 0, SEMAPHORE_MP_ANNOUNCE_DELETE = 1, SEMAPHORE_MP_EXTRACT_PROXY = 2, SEMAPHORE_MP_OBTAIN_REQUEST = 3, SEMAPHORE_MP_OBTAIN_RESPONSE = 4, SEMAPHORE_MP_RELEASE_REQUEST = 5, SEMAPHORE_MP_RELEASE_RESPONSE = 6 } |
This encapsulates functionality related to the transparent multiprocessing support within the Classic API Semaphore Manager.
The following enumerated type defines the list of remote semaphore operations.
void _Semaphore_Core_mutex_mp_support | ( | Thread_Control * | the_thread, |
Objects_Id | id | ||
) |
Semaphore Core Mutex MP Support.
This function processes the global actions necessary for remote accesses to a global semaphore based on a core mutex. This function is called by the core.
[in] | the_thread | the remote thread the semaphore was surrendered to |
[in] | id | is the id of the surrendered semaphore |
void _Semaphore_Core_semaphore_mp_support | ( | Thread_Control * | the_thread, |
Objects_Id | id | ||
) |
Semaphore Core MP Support.
This function processes the global actions necessary for remote accesses to a global semaphore based on a core semaphore. This function is called by the core.
[in] | the_thread | the remote thread the semaphore was surrendered to |
[in] | id | is the id of the surrendered semaphore |
void _Semaphore_MP_Process_packet | ( | rtems_packet_prefix * | the_packet_prefix | ) |
Semaphore MP Process Packet.
This routine performs the actions specific to this package for the request from another node.
void _Semaphore_MP_Send_object_was_deleted | ( | Thread_Control * | the_proxy, |
Objects_Id | mp_id | ||
) |
Semaphore MP Send Object was Deleted.
This routine is invoked indirectly by the thread queue when a proxy has been removed from the thread queue and the remote node must be informed of this.
void _Semaphore_MP_Send_process_packet | ( | Semaphore_MP_Remote_operations | operation, |
Objects_Id | semaphore_id, | ||
rtems_name | name, | ||
Objects_Id | proxy_id | ||
) |
Semaphore MP Send Process Packet.
This routine performs a remote procedure call so that a process operation can be performed on another node.