Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Mutual exclusion locking, header.
Definition in file recmutex.h.
#include "lib/error.h"
#include "lib/sectionlock.h"
#include "lib/lockerror.h"
#include "lib/mutex.h"
#include <pthread.h>
#include <nobug.h>
Classes | |
struct | lumiera_recmutex |
Recursive Mutex. More... | |
Typedefs | |
typedef lumiera_recmutex * | LumieraRecmutex |
Macros | |
#define | LUMIERA_RECMUTEX_SECTION(nobugflag, mtx) |
Recursive Mutual exclusive section. More... | |
#define | LUMIERA_RECMUTEX_SECTION_CHAIN(nobugflag, mtx) |
#define | LUMIERA_RECMUTEX_SECTION_UNLOCK LUMIERA_SECTION_UNLOCK_(&lumiera_lock_section_) |
Functions | |
LumieraRecmutex | lumiera_recmutex_destroy (LumieraRecmutex self, struct nobug_flag *flag, const struct nobug_context ctx) |
Destroy a recursive mutex variable. More... | |
LumieraRecmutex | lumiera_recmutex_init (LumieraRecmutex self, const char *purpose, struct nobug_flag *flag, const struct nobug_context ctx) |
Initialise a recursive mutex variable Initialises a 'recursive' mutex which might be locked by the same thread multiple times. More... | |
static LumieraRecmutex | lumiera_recmutex_lock (LumieraRecmutex self, struct nobug_flag *flag, struct nobug_resource_user **handle, const struct nobug_context ctx) |
static LumieraRecmutex | lumiera_recmutex_timedlock (LumieraRecmutex self, const struct timespec *timeout, struct nobug_flag *flag, struct nobug_resource_user **handle, const struct nobug_context ctx) |
static LumieraRecmutex | lumiera_recmutex_trylock (LumieraRecmutex self, struct nobug_flag *flag, struct nobug_resource_user **handle, const struct nobug_context ctx) |
static void | lumiera_recmutex_unlock (LumieraRecmutex self, struct nobug_flag *flag, struct nobug_resource_user **handle, const struct nobug_context ctx) |
#define LUMIERA_RECMUTEX_SECTION | ( | nobugflag, | |
mtx | |||
) |
Recursive Mutual exclusive section.
Definition at line 32 of file recmutex.h.
Referenced by lumiera_interface_close(), and lumiera_plugin_register().
#define LUMIERA_RECMUTEX_SECTION_CHAIN | ( | nobugflag, | |
mtx | |||
) |
Definition at line 49 of file recmutex.h.
LumieraRecmutex lumiera_recmutex_init | ( | LumieraRecmutex | self, |
const char * | purpose, | ||
struct nobug_flag * | flag, | ||
const struct nobug_context | ctx | ||
) |
Initialise a recursive mutex variable Initialises a 'recursive' mutex which might be locked by the same thread multiple times.
self | is a pointer to the mutex to be initialised |
Definition at line 32 of file recmutex.c.
LumieraRecmutex lumiera_recmutex_destroy | ( | LumieraRecmutex | self, |
struct nobug_flag * | flag, | ||
const struct nobug_context | ctx | ||
) |
Destroy a recursive mutex variable.
self | is a pointer to the mutex to be destroyed |
Definition at line 53 of file recmutex.c.
References LUMIERA_DIE.