32 struct nobug_flag* flag,
33 const struct nobug_context ctx)
37 NOBUG_RESOURCE_HANDLE_INIT (self->rh);
38 NOBUG_RESOURCE_ANNOUNCE_RAW_CTX (flag,
"mutex", purpose,
self, self->rh, ctx)
40 pthread_mutex_init (&self->mutex, NULL);
49 struct nobug_flag* flag,
50 const struct nobug_context ctx)
54 NOBUG_RESOURCE_FORGET_RAW_CTX (flag, self->rh, ctx)
56 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.