24 #ifndef INCLUDED_OSL_MUTEX_HXX
25 #define INCLUDED_OSL_MUTEX_HXX
195 #ifdef LIBO_INTERNAL_ONLY
242 #ifdef LIBO_INTERNAL_ONLY
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:378
#define SAL_WARN_UNUSED
Annotate classes where a compiler should warn if an instance is unused.
Definition: types.h:587
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:37
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:31
ClearableGuard< Mutex > ClearableMutexGuard
Definition: mutex.hxx:254
Guard< Mutex > MutexGuard
Definition: mutex.hxx:253
ResettableGuard< Mutex > ResettableMutexGuard
Definition: mutex.hxx:255
A mutual exclusion synchronization object.
Definition: mutex.hxx:35
bool acquire()
Acquire the mutex, block if already acquired by another thread.
Definition: mutex.hxx:59
~Mutex()
Release the OS-structures and free mutex data-structure.
Definition: mutex.hxx:50
Mutex()
Create a mutex.
Definition: mutex.hxx:42
bool release()
Release the mutex.
Definition: mutex.hxx:77
static Mutex * getGlobalMutex()
Returns a global static mutex object.
Definition: mutex.hxx:88
bool tryToAcquire()
Try to acquire the mutex without blocking.
Definition: mutex.hxx:68
Object lifetime scoped mutex object or interface lock.
Definition: mutex.hxx:122
Guard(T &t)
Acquires the object specified as parameter.
Definition: mutex.hxx:140
T * pT
Definition: mutex.hxx:127
~Guard()
Releases the mutex or interface.
Definition: mutex.hxx:146
Guard(T *pT_)
Acquires the object specified as parameter.
Definition: mutex.hxx:132
Object lifetime scoped mutex object or interface lock with unlock.
Definition: mutex.hxx:160
~ClearableGuard()
Releases the mutex or interface if not already released by clear().
Definition: mutex.hxx:185
void clear()
Releases the mutex or interface.
Definition: mutex.hxx:193
ClearableGuard(T &t)
Acquires the object specified as parameter.
Definition: mutex.hxx:178
T * pT
Definition: mutex.hxx:165
ClearableGuard(T *pT_)
Acquires the object specified as parameter.
Definition: mutex.hxx:170
Template for temporary releasable mutex objects and interfaces locks.
Definition: mutex.hxx:216
ResettableGuard(T &rT)
Acquires the object specified as parameter.
Definition: mutex.hxx:233
void reset()
Re-acquires the mutex or interface.
Definition: mutex.hxx:240
T * pResetT
Definition: mutex.hxx:221
ResettableGuard(T *pT_)
Acquires the object specified as parameter.
Definition: mutex.hxx:226