SimGrid
3.9.90
Versatile Simulation of Distributed Systems
|
Functions | |
void | simcall_process_create (smx_process_t *process, const char *name, xbt_main_func_t code, void *data, const char *hostname, double kill_time, int argc, char **argv, xbt_dict_t properties, int auto_restart) |
Creates and runs a new SIMIX process. More... | |
void | simcall_process_kill (smx_process_t process) |
Kills a SIMIX process. More... | |
void | simcall_process_killall (int reset_pid) |
Kills all SIMIX processes. | |
void | simcall_process_cleanup (smx_process_t process) |
Cleans up a SIMIX process. More... | |
void | simcall_process_change_host (smx_process_t process, smx_host_t dest) |
Migrates an agent to another location. More... | |
void | simcall_process_suspend (smx_process_t process) |
Suspends a process. More... | |
void | simcall_process_resume (smx_process_t process) |
Resumes a suspended process. More... | |
int | simcall_process_count (void) |
Returns the amount of SIMIX processes in the system. More... | |
int | simcall_process_get_PID (smx_process_t process) |
Return the PID of a smx_process_t. More... | |
int | simcall_process_get_PPID (smx_process_t process) |
Return the parent PID of a smx_process_t. More... | |
void * | simcall_process_get_data (smx_process_t process) |
Return the user data of a smx_process_t. More... | |
void | simcall_process_set_data (smx_process_t process, void *data) |
Set the user data of a smx_process_t. More... | |
void | simcall_process_set_kill_time (smx_process_t process, double kill_time) |
Set the kill time of a process. More... | |
smx_host_t | simcall_process_get_host (smx_process_t process) |
Return the location on which an agent is running. More... | |
const char * | simcall_process_get_name (smx_process_t process) |
Return the name of an agent. More... | |
int | simcall_process_is_suspended (smx_process_t process) |
Returns true if the process is suspended . More... | |
xbt_dict_t | simcall_process_get_properties (smx_process_t process) |
Return the properties. More... | |
void | simcall_process_on_exit (smx_process_t process, int_f_pvoid_t fun, void *data) |
Add an on_exit function Add an on_exit function which will be executed when the process exits/is killed. | |
void | simcall_process_auto_restart_set (smx_process_t process, int auto_restart) |
Sets the process to be auto-restarted or not by SIMIX when its host comes back up. Will restart the process when the host comes back up if auto_restart is set to 1. | |
smx_process_t | simcall_process_restart (smx_process_t process) |
Restarts the process, killing it and starting it again from scratch. | |
e_smx_state_t | simcall_process_sleep (double duration) |
Creates a new sleep SIMIX action. More... | |
typedef struct s_smx_process * | smx_process_t |
Process datatypeA processt may be defined as a code, with some private data, executing in a location. More... | |
typedef struct s_smx_process* smx_process_t |
Process datatypeA processt may be defined as a code, with some private data, executing in a location.
void simcall_process_create | ( | smx_process_t * | process, |
const char * | name, | ||
xbt_main_func_t | code, | ||
void * | data, | ||
const char * | hostname, | ||
double | kill_time, | ||
int | argc, | ||
char ** | argv, | ||
xbt_dict_t | properties, | ||
int | auto_restart | ||
) |
Creates and runs a new SIMIX process.
The structure and the corresponding thread are created and put in the list of ready processes.
process | the process created will be stored in this pointer |
name | a name for the process. It is for user-level information and can be NULL. |
code | the main function of the process |
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 simcall_process_get_data. |
hostname | name of the host where the new agent is executed. |
kill_time | time when the process is killed |
argc | first argument passed to code |
argv | second argument passed to code |
properties | the properties of the process |
auto_restart | either it is autorestarting or not. |
void simcall_process_kill | ( | smx_process_t | process) |
Kills a SIMIX process.
This function simply kills a process.
process | poor victim |
void simcall_process_cleanup | ( | smx_process_t | process) |
Cleans up a SIMIX process.
process | poor victim (must have already been killed) |
void simcall_process_change_host | ( | smx_process_t | process, |
smx_host_t | dest | ||
) |
Migrates an agent to another location.
This function changes the value of the host on which process is running.
process | the process to migrate |
dest | name of the new host |
void simcall_process_suspend | ( | smx_process_t | process) |
Suspends a process.
This function suspends the process by suspending the action it was waiting for completion.
process | a SIMIX process |
void simcall_process_resume | ( | smx_process_t | process) |
Resumes a suspended process.
This function resumes a suspended process by resuming the action it was waiting for completion.
process | a SIMIX process |
int simcall_process_count | ( | void | ) |
Returns the amount of SIMIX processes in the system.
Maestro internal process is not counted, only user code processes are
int simcall_process_get_PID | ( | smx_process_t | process) |
int simcall_process_get_PPID | ( | smx_process_t | process) |
Return the parent PID of a smx_process_t.
process | a SIMIX process |
void* simcall_process_get_data | ( | smx_process_t | process) |
Return the user data of a smx_process_t.
process | a SIMIX process |
void simcall_process_set_data | ( | smx_process_t | process, |
void * | data | ||
) |
Set the user data of a smx_process_t.
This functions sets the user data associated to process.
process | SIMIX process |
data | User data |
void simcall_process_set_kill_time | ( | smx_process_t | process, |
double | kill_time | ||
) |
Set the kill time of a process.
process | a process |
kill_time | a double |
smx_host_t simcall_process_get_host | ( | smx_process_t | process) |
Return the location on which an agent is running.
This functions returns the smx_host_t corresponding to the location on which process is running.
process | SIMIX process |
const char* simcall_process_get_name | ( | smx_process_t | process) |
Return the name of an agent.
This functions checks whether process is a valid pointer or not and return its name.
process | SIMIX process |
int simcall_process_is_suspended | ( | smx_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.
process | SIMIX process |
xbt_dict_t simcall_process_get_properties | ( | smx_process_t | process) |
Return the properties.
This functions returns the properties associated with this process
e_smx_state_t simcall_process_sleep | ( | double | duration) |
Creates a new sleep SIMIX action.
This function creates a SURF action and allocates the data necessary to create the SIMIX action. It can raise a host_error exception if the host crashed. The default SIMIX name of the action is "sleep".
duration | Time duration of the sleep. |