SimGrid: Tasks dependencies

SimGrid 3.10 Versatile Simulation of Distributed Systems

- Home page
- Online documentation
- Dev's Corner

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Tasks dependencies
SimDag

Functions for managing the task dependencies. More...

## Functions
void | SD_task_dependency_add (const char *name, void *data, SD_task_t src, SD_task_t dst)
| Adds a dependency between two tasks.
void | SD_task_dependency_remove (SD_task_t src, SD_task_t dst)
| Remove a dependency between two tasks.
const char * | SD_task_dependency_get_name (SD_task_t src, SD_task_t dst)
| Returns the name given as input when dependency has been created..
void * | SD_task_dependency_get_data (SD_task_t src, SD_task_t dst)
| Returns the user data associated with a dependency between two tasks.
int | SD_task_dependency_exists (SD_task_t src, SD_task_t dst)
| Indicates whether there is a dependency between two tasks.

## Detailed Description

Functions for managing the task dependencies.

This section describes the functions for managing the dependencies between the tasks.

See Also
  Tasks

## Function Documentation

void SD_task_dependency_add | ( | const char * | name,
|  | void * | data,
|  | SD_task_t | src,
|  | SD_task_t | dst
| ) |  |

Adds a dependency between two tasks.

dst will depend on src, ie dst will not start before src is finished. Their state must be SD_NOT_SCHEDULED, SD_SCHEDULED or SD_RUNNABLE.

Parameters

  name | the name of the new dependency (can be `NULL`)
  data | the user data you want to associate with this dependency (can be `NULL`)
  src | the task which must be executed first
  dst | the task you want to make depend on src

See Also
  SD_task_dependency_remove()

void SD_task_dependency_remove | ( | SD_task_t | src,
|  | SD_task_t | dst
| ) |  |

Remove a dependency between two tasks.

Parameters

  src | a task
  dst | a task depending on src

See Also
  SD_task_dependency_add()

const char* SD_task_dependency_get_name | ( | SD_task_t | src,
|  | SD_task_t | dst
| ) |  |

Returns the name given as input when dependency has been created..

Parameters

  src | a task
  dst | a task depending on src

void* SD_task_dependency_get_data | ( | SD_task_t | src,
|  | SD_task_t | dst
| ) |  |

Returns the user data associated with a dependency between two tasks.

Parameters

  src | a task
  dst | a task depending on src

Returns
  the user data associated with this dependency (can be `NULL`)

See Also
  SD_task_dependency_add()

int SD_task_dependency_exists | ( | SD_task_t | src,
|  | SD_task_t | dst
| ) |  |

Indicates whether there is a dependency between two tasks.

Parameters

  src | a task
  dst | a task depending on src

If src is NULL, checks whether dst has any pre-dependency. If dst is NULL, checks whether src has any post-dependency.