|
SimGrid
3.14.159
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 struct s_smx_cond_ * | 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... | |
| void | 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 struct s_smx_cond_* 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.
| void 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.
a timeout exception is raised if it was impossible to acquire it in the given time frame
| 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.