![]()  | 
  
    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.
 1.8.15