SimGrid
3.21
Versatile Simulation of Distributed Systems
|
XBT synchronization tools.
This section describes the simulated synchronization mechanisms, that you can use in your simulation without deadlocks. See How to synchronize my user processes? for details.
Typedefs | |
typedef struct s_smx_mutex_ * | xbt_mutex_t |
Thread mutex data type (opaque object) More... | |
typedef simgrid::kernel::activity::ConditionVariableImpl * | xbt_cond_t |
Thread condition data type (opaque object) More... | |
Functions | |
xbt_mutex_t | xbt_mutex_init (void) |
Creates a new mutex variable. More... | |
void | xbt_mutex_acquire (xbt_mutex_t mutex) |
Blocks onto the given mutex variable. More... | |
int | xbt_mutex_try_acquire (xbt_mutex_t mutex) |
Tries to block onto the given mutex variable Tries to lock a mutex, return 1 if the mutex is unlocked, else 0. More... | |
void | xbt_mutex_release (xbt_mutex_t mutex) |
Releases the given mutex variable. More... | |
void | xbt_mutex_destroy (xbt_mutex_t mutex) |
Destroyes the given mutex variable. More... | |
xbt_cond_t | xbt_cond_init (void) |
Creates a condition variable. More... | |
void | xbt_cond_wait (xbt_cond_t cond, xbt_mutex_t mutex) |
Blocks onto the given condition variable. More... | |
int | xbt_cond_timedwait (xbt_cond_t cond, xbt_mutex_t mutex, double delay) |
Blocks onto the given condition variable, but only for the given amount of time. More... | |
void | xbt_cond_signal (xbt_cond_t cond) |
Signals the given mutex variable. More... | |
void | xbt_cond_broadcast (xbt_cond_t cond) |
Broadcasts the given mutex variable. More... | |
void | xbt_cond_destroy (xbt_cond_t cond) |
Destroys the given mutex variable. More... | |
typedef struct s_smx_mutex_* xbt_mutex_t |
Thread mutex data type (opaque object)
typedef simgrid::kernel::activity::ConditionVariableImpl* xbt_cond_t |
Thread condition data type (opaque object)
xbt_mutex_t xbt_mutex_init | ( | void | ) |
Creates a new mutex variable.
void xbt_mutex_acquire | ( | xbt_mutex_t | mutex | ) |
Blocks onto the given mutex variable.
int xbt_mutex_try_acquire | ( | xbt_mutex_t | mutex | ) |
Tries to block onto the given mutex variable Tries to lock a mutex, return 1 if the mutex is unlocked, else 0.
This function does not block and wait for the mutex to be unlocked.
mutex | The mutex |
void xbt_mutex_release | ( | xbt_mutex_t | mutex | ) |
Releases the given mutex variable.
void xbt_mutex_destroy | ( | xbt_mutex_t | mutex | ) |
Destroyes the given mutex variable.
xbt_cond_t xbt_cond_init | ( | void | ) |
Creates a condition variable.
void xbt_cond_wait | ( | xbt_cond_t | cond, |
xbt_mutex_t | mutex | ||
) |
Blocks onto the given condition variable.
int xbt_cond_timedwait | ( | xbt_cond_t | cond, |
xbt_mutex_t | mutex, | ||
double | delay | ||
) |
Blocks onto the given condition variable, but only for the given amount of time.
void xbt_cond_signal | ( | xbt_cond_t | cond | ) |
Signals the given mutex variable.
void xbt_cond_broadcast | ( | xbt_cond_t | cond | ) |
Broadcasts the given mutex variable.
void xbt_cond_destroy | ( | xbt_cond_t | cond | ) |
Destroys the given mutex variable.