summaryrefslogtreecommitdiffstats
path: root/src/mutex.h
blob: c24acb6a35167b8c87759ab3cce411f77503f150 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef foosydneymutexhfoo
#define foosydneymutexhfoo

#include "macro.h"

typedef struct sa_mutex sa_mutex;

sa_mutex* sa_mutex_new(sa_bool_t recursive, sa_bool_t inherit_priority);
void sa_mutex_free(sa_mutex *m);
void sa_mutex_lock(sa_mutex *m);
void sa_mutex_unlock(sa_mutex *m);

typedef struct sa_cond sa_cond;

sa_cond *sa_cond_new(void);
void sa_cond_free(sa_cond *c);
void sa_cond_signal(sa_cond *c, int broadcast);
int sa_cond_wait(sa_cond *c, sa_mutex *m);

#endif