diff options
author | Chris Robinson <[email protected]> | 2013-10-28 12:48:13 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2013-10-28 12:48:13 -0700 |
commit | 8d9fb5109b55912ef2be7b8d4526eb6ec8154004 (patch) | |
tree | d8db83a2502d4ec0e14a9c912d75b26f4db754dc /Alc/rwlock.h | |
parent | 20bcb68ad6439bebc35bd9bb941916ad151cb690 (diff) |
Move some stuff out of alMain.h
Diffstat (limited to 'Alc/rwlock.h')
-rw-r--r-- | Alc/rwlock.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Alc/rwlock.h b/Alc/rwlock.h new file mode 100644 index 00000000..efbab4e8 --- /dev/null +++ b/Alc/rwlock.h @@ -0,0 +1,21 @@ +#ifndef AL_RWLOCK_H +#define AL_RWLOCK_H + +#include "AL/al.h" +#include "atomic.h" + +typedef struct { + volatile RefCount read_count; + volatile RefCount write_count; + volatile ALenum read_lock; + volatile ALenum read_entry_lock; + volatile ALenum write_lock; +} RWLock; + +void RWLockInit(RWLock *lock); +void ReadLock(RWLock *lock); +void ReadUnlock(RWLock *lock); +void WriteLock(RWLock *lock); +void WriteUnlock(RWLock *lock); + +#endif /* AL_RWLOCK_H */ |