35#ifndef _UTILS_ASYNCMUTEX_HXX_
36#define _UTILS_ASYNCMUTEX_HXX_
Synchronously locks the mutex.
Helper class that simulates a (non-reentrant) mutex using the Allocator queue and a single QueueMembe...
void CheckToken(QMember *token)
Crashes if the the particular value is not the token associated with this mutex.
void Unlock()
Unlocks the mutex. Crashes if the mutex is unlocked.
void AssertLocked()
Crashes if the mutex is not locked.
Token token_
a unique allocation token that can be passed around to signal who owns the mutex.
void AssertUnlocked()
Crashes if the mutex is locked.
AsyncMutex()
Creates an allocator mutex.
Asynchronous specialization of Q.
bool empty()
Test if the queue is empty.
void insert(QMember *item, unsigned index=0)
Add an item to the back of the queue.
Essentially a "next" pointer container.
#define HASSERT(x)
Checks that the value of expression x is true, else terminates the current process.