Thread Handler Multiprocessing Support.
More...
|
file | threadmp.h |
| Multiprocessing Portion of the Thread Package.
|
|
file | threadmp.c |
| Distributed MP Support.
|
|
Thread Handler Multiprocessing Support.
This handler encapsulates functionality which is related to managing threads in a multiprocessor system configuration. This handler must manage proxies which represent remote threads blocking on local operations.
◆ _Thread_MP_Is_receive
This function returns true if the thread in question is the multiprocessing receive thread.
- Note
- This is a macro to avoid needing a prototype for _MPCI_Receive_server_tcb until it is used.
◆ _Thread_MP_Allocate_proxy()
Allocates a MP proxy control block from the inactive chain of free proxy control blocks.
This allocates a proxy control block from the inactive chain of free proxy control blocks.
- Note
- This function returns a thread control pointer because proxies are substitutes for remote threads.
- Parameters
-
the_state | The state for the allocated MP proxy control block. |
◆ _Thread_MP_Find_proxy()
Removes the MP proxy control block for the specified id from the active chain of proxy control blocks.
This function removes the proxy control block for the specified id from the active red-black tree of proxy control blocks.
- Parameters
-
the_id | The id of the proxy control block to remove. |
- Returns
- The removed proxy control block.
◆ _Thread_MP_Handler_initialization()
void _Thread_MP_Handler_initialization |
( |
uint32_t |
maximum_proxies | ) |
|
Initialize MP thread handler.
This routine initializes the multiprocessing portion of the Thread Handler.
- Parameters
-
maximum_proxies | The maximum number of proxies for the MP thread handler. |
◆ _Thread_MP_Is_remote()
Checks if the thread MP with this object id is remote.
- Parameters
-
- Return values
-
true | The object id is valid and the thread MP with this object id is remote. |
false | The object if is not valid or the thread MP with this object id is not remote. |