23 struct nobug_flag* flag,
24 const struct nobug_context ctx)
28 NOBUG_RESOURCE_HANDLE_INIT (self->rh);
29 NOBUG_RESOURCE_ANNOUNCE_RAW_CTX (flag,
"mutex", purpose,
self, self->rh, ctx)
31 pthread_mutex_init (&self->mutex, NULL);
40 struct nobug_flag* flag,
41 const struct nobug_context ctx)
45 NOBUG_RESOURCE_FORGET_RAW_CTX (flag, self->rh, ctx)
47 if (pthread_mutex_destroy (&self->mutex))
#define LUMIERA_DIE(err)
Abort unconditionally with a 'Fatal Error!' message.
Mutual exclusion locking, header.
LumieraMutex lumiera_mutex_init(LumieraMutex self, const char *purpose, struct nobug_flag *flag, const struct nobug_context ctx)
Initialise a mutex variable This initialises a 'fast' default mutex which must not be locked recursiv...
LumieraMutex lumiera_mutex_destroy(LumieraMutex self, struct nobug_flag *flag, const struct nobug_context ctx)
Destroy a mutex variable.