20 #ifndef INCLUDED_OSL_MUTEX_HXX
21 #define INCLUDED_OSL_MUTEX_HXX
188 #ifdef LIBO_INTERNAL_ONLY
235 #ifdef LIBO_INTERNAL_ONLY
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:374
#define SAL_WARN_UNUSED
Annotate classes where a compiler should warn if an instance is unused.
Definition: types.h:558
SAL_DLLPUBLIC sal_Bool osl_acquireMutex(oslMutex Mutex)
Acquire the mutex, block if already acquired by another thread.
SAL_DLLPUBLIC oslMutex * osl_getGlobalMutex(void)
Returns a unique and global mutex.
SAL_DLLPUBLIC void osl_destroyMutex(oslMutex Mutex)
Release the OS-structures and free mutex data-structure.
SAL_DLLPUBLIC sal_Bool osl_releaseMutex(oslMutex Mutex)
Release the mutex.
struct _oslMutexImpl * oslMutex
Definition: mutex.h:33
SAL_DLLPUBLIC sal_Bool osl_tryToAcquireMutex(oslMutex Mutex)
Try to acquire the mutex without blocking.
SAL_DLLPUBLIC oslMutex osl_createMutex(void)
Create a mutex.
Definition: condition.hxx:28
ClearableGuard< Mutex > ClearableMutexGuard
Definition: mutex.hxx:247
Guard< Mutex > MutexGuard
Definition: mutex.hxx:246
ResettableGuard< Mutex > ResettableMutexGuard
Definition: mutex.hxx:248
A mutual exclusion synchronization object.
Definition: mutex.hxx:31
bool acquire()
Acquire the mutex, block if already acquired by another thread.
Definition: mutex.hxx:55
~Mutex()
Release the OS-structures and free mutex data-structure.
Definition: mutex.hxx:46
Mutex()
Create a mutex.
Definition: mutex.hxx:38
bool release()
Release the mutex.
Definition: mutex.hxx:73
static Mutex * getGlobalMutex()
Returns a global static mutex object.
Definition: mutex.hxx:84
bool tryToAcquire()
Try to acquire the mutex without blocking.
Definition: mutex.hxx:64
Object lifetime scoped mutex object or interface lock.
Definition: mutex.hxx:115
Guard(T &t)
Acquires the object specified as parameter.
Definition: mutex.hxx:133
T * pT
Definition: mutex.hxx:120
~Guard()
Releases the mutex or interface.
Definition: mutex.hxx:139
Guard(T *pT_)
Acquires the object specified as parameter.
Definition: mutex.hxx:125
Object lifetime scoped mutex object or interface lock with unlock.
Definition: mutex.hxx:153
~ClearableGuard()
Releases the mutex or interface if not already released by clear().
Definition: mutex.hxx:178
void clear()
Releases the mutex or interface.
Definition: mutex.hxx:186
ClearableGuard(T &t)
Acquires the object specified as parameter.
Definition: mutex.hxx:171
T * pT
Definition: mutex.hxx:158
ClearableGuard(T *pT_)
Acquires the object specified as parameter.
Definition: mutex.hxx:163
Template for temporary releasable mutex objects and interfaces locks.
Definition: mutex.hxx:209
ResettableGuard(T &rT)
Acquires the object specified as parameter.
Definition: mutex.hxx:226
void reset()
Re-acquires the mutex or interface.
Definition: mutex.hxx:233
T * pResetT
Definition: mutex.hxx:214
ResettableGuard(T *pT_)
Acquires the object specified as parameter.
Definition: mutex.hxx:219