SimGrid
|
This section describes the agent structure of MSG (m_process_t) and the functions for managing it. More...
Functions | |
m_process_t | MSG_process_create (const char *name, xbt_main_func_t code, void *data, m_host_t host) |
Creates and runs a new m_process_t. | |
m_process_t | MSG_process_create_with_arguments (const char *name, xbt_main_func_t code, void *data, m_host_t host, int argc, char **argv) |
Creates and runs a new m_process_t. | |
m_process_t | MSG_process_create_with_environment (const char *name, xbt_main_func_t code, void *data, m_host_t host, int argc, char **argv, xbt_dict_t properties) |
Creates and runs a new m_process_t. | |
void | MSG_process_kill (m_process_t process) |
MSG_error_t | MSG_process_migrate (m_process_t process, m_host_t host) |
Migrates an agent to another location. | |
void * | MSG_process_get_data (m_process_t process) |
Returns the user data of a process. | |
MSG_error_t | MSG_process_set_data (m_process_t process, void *data) |
Sets the user data of a process. | |
m_host_t | MSG_process_get_host (m_process_t process) |
Return the location on which an agent is running. | |
m_process_t | MSG_process_from_PID (int PID) |
Return a m_process_t given its PID. | |
int | MSG_process_get_PID (m_process_t process) |
Returns the process ID of process. | |
int | MSG_process_get_PPID (m_process_t process) |
Returns the process ID of the parent of process. | |
const char * | MSG_process_get_name (m_process_t process) |
Return the name of an agent. | |
const char * | MSG_process_get_property_value (m_process_t process, const char *name) |
Returns the value of a given process property. | |
xbt_dict_t | MSG_process_get_properties (m_process_t process) |
Return the list of properties. | |
int | MSG_process_self_PID (void) |
Return the PID of the current agent. | |
int | MSG_process_self_PPID (void) |
Return the PPID of the current agent. | |
m_process_t | MSG_process_self (void) |
Return the current process. | |
MSG_error_t | MSG_process_suspend (m_process_t process) |
Suspend the process. | |
MSG_error_t | MSG_process_resume (m_process_t process) |
Resume a suspended process. | |
int | MSG_process_is_suspended (m_process_t process) |
Returns true if the process is suspended . |
This section describes the agent structure of MSG (m_process_t) and the functions for managing it.
We need to simulate many independent scheduling decisions, so the concept of process is at the heart of the simulator. A process may be defined as a code, with some private data, executing in a location.
m_process_t MSG_process_create | ( | const char * | name, |
xbt_main_func_t | code, | ||
void * | data, | ||
m_host_t | host | ||
) |
Creates and runs a new m_process_t.
Does exactly the same as MSG_process_create_with_arguments but without providing standard arguments (argc, argv, start_time, kill_time).
m_process_t MSG_process_create_with_arguments | ( | const char * | name, |
xbt_main_func_t | code, | ||
void * | data, | ||
m_host_t | host, | ||
int | argc, | ||
char ** | argv | ||
) |
Creates and runs a new m_process_t.
A constructor for m_process_t taking four arguments and returning the corresponding object. The structure (and the corresponding thread) is created, and put in the list of ready process.
name | a name for the object. It is for user-level information and can be NULL. |
code | is a function describing the behavior of the agent. It should then only use functions described in Management Functions of Agents (to create a new m_process_t for example), in Management functions of Hosts (only the read-only functions i.e. whose name contains the word get), in Managing functions of Tasks (to create or destroy some m_task_t for example) and in MSG Operating System Functions (to handle file transfers and task processing). |
data | a pointer to any data one may want to attach to the new object. It is for user-level information and can be NULL. It can be retrieved with the function MSG_process_get_data. |
host | the location where the new agent is executed. |
argc | first argument passed to code |
argv | second argument passed to code |
m_process_t MSG_process_create_with_environment | ( | const char * | name, |
xbt_main_func_t | code, | ||
void * | data, | ||
m_host_t | host, | ||
int | argc, | ||
char ** | argv, | ||
xbt_dict_t | properties | ||
) |
Creates and runs a new m_process_t.
A constructor for m_process_t taking four arguments and returning the corresponding object. The structure (and the corresponding thread) is created, and put in the list of ready process.
name | a name for the object. It is for user-level information and can be NULL. |
code | is a function describing the behavior of the agent. It should then only use functions described in Management Functions of Agents (to create a new m_process_t for example), in Management functions of Hosts (only the read-only functions i.e. whose name contains the word get), in Managing functions of Tasks (to create or destroy some m_task_t for example) and in MSG Operating System Functions (to handle file transfers and task processing). |
data | a pointer to any data one may want to attach to the new object. It is for user-level information and can be NULL. It can be retrieved with the function MSG_process_get_data. |
host | the location where the new agent is executed. |
argc | first argument passed to code |
argv | second argument passed to code |
properties | list a properties defined for this process |
void MSG_process_kill | ( | m_process_t | process | ) |
process | poor victim |
This function simply kills a process... scary isn't it ? :)
MSG_error_t MSG_process_migrate | ( | m_process_t | process, |
m_host_t | host | ||
) |
Migrates an agent to another location.
This function checks whether process and host are valid pointers and change the value of the m_host_t on which process is running.
void* MSG_process_get_data | ( | m_process_t | process | ) |
Returns the user data of a process.
This function checks whether process is a valid pointer or not and returns the user data associated to this process.
MSG_error_t MSG_process_set_data | ( | m_process_t | process, |
void * | data | ||
) |
Sets the user data of a process.
This function checks whether process is a valid pointer or not and sets the user data associated to this process.
m_host_t MSG_process_get_host | ( | m_process_t | process | ) |
Return the location on which an agent is running.
This function checks whether process is a valid pointer or not and return the m_host_t corresponding to the location on which process is running.
m_process_t MSG_process_from_PID | ( | int | PID | ) |
Return a m_process_t given its PID.
This function search in the list of all the created m_process_t for a m_process_t whose PID is equal to PID. If no host is found, NULL
is returned. Note that the PID are uniq in the whole simulation, not only on a given host.
int MSG_process_get_PID | ( | m_process_t | process | ) |
Returns the process ID of process.
This function checks whether process is a valid pointer or not and return its PID (or 0 in case of problem).
int MSG_process_get_PPID | ( | m_process_t | process | ) |
Returns the process ID of the parent of process.
This function checks whether process is a valid pointer or not and return its PID. Returns -1 if the agent has not been created by another agent.
const char* MSG_process_get_name | ( | m_process_t | process | ) |
Return the name of an agent.
This function checks whether process is a valid pointer or not and return its name.
const char* MSG_process_get_property_value | ( | m_process_t | process, |
const char * | name | ||
) |
Returns the value of a given process property.
process | a process |
name | a property name |
xbt_dict_t MSG_process_get_properties | ( | m_process_t | process | ) |
Return the list of properties.
This function returns all the parameters associated with a process
int MSG_process_self_PID | ( | void | ) |
Return the PID of the current agent.
This function returns the PID of the currently running m_process_t.
int MSG_process_self_PPID | ( | void | ) |
Return the PPID of the current agent.
This function returns the PID of the parent of the currently running m_process_t.
m_process_t MSG_process_self | ( | void | ) |
Return the current process.
This function returns the currently running m_process_t.
MSG_error_t MSG_process_suspend | ( | m_process_t | process | ) |
Suspend the process.
This function suspends the process by suspending the task on which it was waiting for the completion.
MSG_error_t MSG_process_resume | ( | m_process_t | process | ) |
Resume a suspended process.
This function resumes a suspended process by resuming the task on which it was waiting for the completion.
int MSG_process_is_suspended | ( | m_process_t | process | ) |
Returns true if the process is suspended .
This checks whether a process is suspended or not by inspecting the task on which it was waiting for the completion.
Back to the main Simgrid Documentation page |
The version of Simgrid documented here is v3.6.1. Documentation of other versions can be found in their respective archive files (directory doc/html). |
Generated for SimGridAPI by
![]() |