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

typedef struct sa_mutex sa_mutex_t;

sa_mutex_t* sa_mutex_new(int recursive);
void sa_mutex_free(sa_mutex_t *m);
void sa_mutex_lock(sa_mutex_t *m);
void sa_mutex_unlock(sa_mutex_t *m);
int sa_mutex_try_lock(sa_mutex_t *m);

typedef struct sa_cond sa_cond_t;

sa_cond_t *sa_cond_new(void);
void sa_cond_free(sa_cond_t *c);
void sa_cond_signal(sa_cond_t *c, int broadcast);
int sa_cond_wait(sa_cond_t *c, sa_mutex_t *m);

#endif