libmetal
Loading...
Searching...
No Matches
mutex.h File Reference
#include <unistd.h>
#include <sys/syscall.h>
#include <linux/futex.h>
#include <metal/atomic.h>

Go to the source code of this file.

Data Structures

struct  metal_mutex_t

Macros

#define METAL_MUTEX_INIT(m)
#define METAL_MUTEX_DEFINE(m)

Functions

static int __metal_mutex_cmpxchg (metal_mutex_t *mutex, int exp, int val)
static void __metal_mutex_init (metal_mutex_t *mutex)
static void __metal_mutex_deinit (metal_mutex_t *mutex)
static int __metal_mutex_try_acquire (metal_mutex_t *mutex)
static void __metal_mutex_acquire (metal_mutex_t *mutex)
static void __metal_mutex_release (metal_mutex_t *mutex)
static int __metal_mutex_is_acquired (metal_mutex_t *mutex)

Macro Definition Documentation

◆ METAL_MUTEX_DEFINE

#define METAL_MUTEX_DEFINE ( m)
Value:
Definition mutex.h:28
#define METAL_MUTEX_INIT(m)
Definition mutex.h:36

◆ METAL_MUTEX_INIT

#define METAL_MUTEX_INIT ( m)
Value:
#define ATOMIC_VAR_INIT(VAL)
Definition atomic.h:33

Function Documentation

◆ __metal_mutex_acquire()

void __metal_mutex_acquire ( metal_mutex_t * mutex)
inlinestatic

◆ __metal_mutex_cmpxchg()

int __metal_mutex_cmpxchg ( metal_mutex_t * mutex,
int exp,
int val )
inlinestatic

◆ __metal_mutex_deinit()

void __metal_mutex_deinit ( metal_mutex_t * mutex)
inlinestatic

◆ __metal_mutex_init()

void __metal_mutex_init ( metal_mutex_t * mutex)
inlinestatic

◆ __metal_mutex_is_acquired()

int __metal_mutex_is_acquired ( metal_mutex_t * mutex)
inlinestatic

◆ __metal_mutex_release()

void __metal_mutex_release ( metal_mutex_t * mutex)
inlinestatic

◆ __metal_mutex_try_acquire()

int __metal_mutex_try_acquire ( metal_mutex_t * mutex)
inlinestatic