2025-08-10 01:34:16 +02:00

48 lines
835 B
C

#ifndef OPEN_MUTEX_H_
#define OPEN_MUTEX_H_
#include <common/Common.h>
#include <linux/mutex.h>
struct Mutex;
typedef struct Mutex Mutex;
static inline void Mutex_init(Mutex* this);
static inline void Mutex_uninit(Mutex* this);
static inline void Mutex_lock(Mutex* this);
static inline void Mutex_unlock(Mutex* this);
struct Mutex
{
struct mutex mutex;
};
void Mutex_init(Mutex* this)
{
mutex_init(&this->mutex);
}
void Mutex_uninit(Mutex* this)
{
mutex_destroy(&this->mutex); /* optional call according to kernel api description, so we might
just drop it if necessary (however, it has some functionality regarding to kernel mutex
debugging) */
}
void Mutex_lock(Mutex* this)
{
mutex_lock(&this->mutex);
}
void Mutex_unlock(Mutex* this)
{
mutex_unlock(&this->mutex);
}
#endif /*OPEN_MUTEX_H_*/