ACE_Mutex wrapper (valid in same process or across processes (depending on TYPE flag)).
More...
#include <Mutex.h>
Public Member Functions | |
| ACE_Mutex (int type=USYNC_THREAD, const ACE_TCHAR *name=0, ACE_mutexattr_t *arg=0, mode_t mode=ACE_DEFAULT_FILE_PERMS) | |
| Initialize the mutex. | |
| ~ACE_Mutex (void) | |
| Implicitly destroy the mutex. | |
| int | remove (void) |
| Explicitly destroy the mutex. | |
| int | acquire (void) |
| Acquire lock ownership (wait on queue if necessary). | |
| int | acquire (ACE_Time_Value &tv) |
| int | acquire (ACE_Time_Value *tv) |
| int | tryacquire (void) |
| Conditionally acquire lock (i.e., don't wait on queue). | |
| int | release (void) |
| Release lock and unblock a thread at head of queue. | |
| int | acquire_read (void) |
| Acquire mutex ownership. | |
| int | acquire_write (void) |
| Acquire mutex ownership. | |
| int | tryacquire_read (void) |
| Conditionally acquire mutex (i.e., won't block). | |
| int | tryacquire_write (void) |
| Conditionally acquire mutex (i.e., won't block). | |
| int | tryacquire_write_upgrade (void) |
| const ACE_mutex_t & | lock (void) const |
| Return the underlying mutex. | |
| void | dump (void) const |
| Dump the state of an object. | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. | |
| ACE_mutex_t | lock_ |
| Mutex type supported by the OS. | |
| bool | removed_ |
Private Member Functions | |
| void | operator= (const ACE_Mutex &) |
| ACE_Mutex (const ACE_Mutex &) | |
ACE_Mutex wrapper (valid in same process or across processes (depending on TYPE flag)).
| ACE_Mutex::ACE_Mutex | ( | int | type = USYNC_THREAD, |
|
| const ACE_TCHAR * | name = 0, |
|||
| ACE_mutexattr_t * | arg = 0, |
|||
| mode_t | mode = ACE_DEFAULT_FILE_PERMS | |||
| ) |
Initialize the mutex.
| ACE_Mutex::~ACE_Mutex | ( | void | ) |
Implicitly destroy the mutex.
| ACE_Mutex::ACE_Mutex | ( | const ACE_Mutex & | ) | [private] |
| ACE_INLINE int ACE_Mutex::acquire | ( | ACE_Time_Value * | tv | ) |
If tv == 0 then call acquire() directly. Otherwise, block the thread until the mutex is acquired or tv times out, in which case -1 is returned and errno == ETIME.
| ACE_INLINE int ACE_Mutex::acquire | ( | ACE_Time_Value & | tv | ) |
| ACE_INLINE int ACE_Mutex::acquire | ( | void | ) |
Acquire lock ownership (wait on queue if necessary).
| ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_Mutex::acquire_read | ( | void | ) |
Acquire mutex ownership.
This calls acquire and is only here to make the ACE_Mutex interface consistent with the other synchronization APIs.
| ACE_INLINE int ACE_Mutex::acquire_write | ( | void | ) |
Acquire mutex ownership.
This calls acquire and is only here to make the ACE_Mutex interface consistent with the other synchronization APIs.
| ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Mutex::dump | ( | void | ) | const |
Dump the state of an object.
| ACE_INLINE const ACE_mutex_t & ACE_Mutex::lock | ( | void | ) | const |
Return the underlying mutex.
| void ACE_Mutex::operator= | ( | const ACE_Mutex & | ) | [private] |
| ACE_INLINE int ACE_Mutex::release | ( | void | ) |
Release lock and unblock a thread at head of queue.
| ACE_INLINE int ACE_Mutex::remove | ( | void | ) |
Explicitly destroy the mutex.
| ACE_INLINE int ACE_Mutex::tryacquire | ( | void | ) |
Conditionally acquire lock (i.e., don't wait on queue).
errno is set to EBUSY. | ACE_INLINE int ACE_Mutex::tryacquire_read | ( | void | ) |
Conditionally acquire mutex (i.e., won't block).
This calls tryacquire and is only here to make the ACE_Mutex interface consistent with the other synchronization APIs.
errno is set to EBUSY. | ACE_INLINE int ACE_Mutex::tryacquire_write | ( | void | ) |
Conditionally acquire mutex (i.e., won't block).
This calls tryacquire and is only here to make the ACE_Mutex interface consistent with the other synchronization APIs.
errno is set to EBUSY. | ACE_INLINE int ACE_Mutex::tryacquire_write_upgrade | ( | void | ) |
This is only here for consistency with the other synchronization APIs and usability with Lock adapters. Assumes the caller already has acquired the mutex and returns 0 in all cases.
Declare the dynamic allocation hooks.
| ACE_mutex_t ACE_Mutex::lock_ |
Mutex type supported by the OS.
| bool ACE_Mutex::removed_ |
Keeps track of whether remove has been called yet to avoid multiple remove calls, e.g., explicitly and implicitly in the destructor. This flag isn't protected by a lock, so make sure that you don't have multiple threads simultaneously calling remove on the same object, which is a bad idea anyway.
1.4.7-1