RTEMS
5.1
|
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 } |
Functions | |
RTEMS_INLINE_ROUTINE bool | _Semaphore_MP_Is_remote (Objects_Id id) |
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. More... | |
rtems_status_code | _Semaphore_MP_Obtain (rtems_id id, rtems_option option_set, rtems_interval timeout) |
Issues a remote rtems_semaphore_obtain() request. | |
rtems_status_code | _Semaphore_MP_Release (rtems_id id) |
Issues a remote rtems_semaphore_release() request. | |
void | _Semaphore_MP_Send_object_was_deleted (Thread_Control *the_proxy, Objects_Id mp_id) |
Semaphore MP Send Object was Deleted. More... | |
void | _Semaphore_Core_mutex_mp_support (Thread_Control *the_thread, Objects_Id id) |
Semaphore Core Mutex MP Support. More... | |
void | _Semaphore_Core_semaphore_mp_support (Thread_Control *the_thread, Objects_Id id) |
Semaphore Core MP Support. More... | |
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_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.